/* ROUND / COMMON: a room-scale editorial, an object index, and a sample notebook.
   No text is positioned over imagery: contrast does not depend on the render. */
.theme-dining { --bg:#f7f0e3; --ink:#492d25; --muted:#6b4e40; --line:#c6b7a4; --panel:#e8dcc9; --button:#693b2c; }
.theme-dining main { overflow-wrap:anywhere; }
.theme-dining .specs>div { grid-template-columns:minmax(0,38fr) minmax(0,62fr); }
.theme-dining .specs dt,.theme-dining .specs dd { min-width:0; }
.theme-dining .intro { padding-top:48px; padding-bottom:52px; }
.theme-dining .intro h1 { max-width:1100px; font-size:clamp(44px,6.5vw,96px); }
.theme-dining .intro .lead { max-width:800px; }
.theme-dining .button { max-width:100%; white-space:normal; }
.theme-dining .button span { flex-shrink:0; }
.rc-cover-heading { position:relative; padding-top:42px; padding-bottom:36px; }
.rc-cover-heading h1 { font-size:clamp(76px,12.4vw,178px); line-height:.86; letter-spacing:-.055em; }
.rc-cover-heading h1 em { font-weight:400; }
.rc-cover-heading .eyebrow { margin-bottom:32px; }
.rc-cover-index { position:absolute; bottom:40px; right:40px; font:11px/1.8 'Courier New',monospace; letter-spacing:.06em; }
.rc-room { max-width:1600px; margin:auto; }
.rc-room img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.rc-room figcaption { padding:12px 40px; }
.rc-cover-caption { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:20px; padding-bottom:35px; border-bottom:1px solid var(--line); }
.rc-cover-caption p,.rc-product-caption p { font:24px/1.2 Georgia,serif; }
.rc-cover-caption a,.rc-product-caption a { font-size:13px; }
.rc-invitation { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:80px; padding-top:85px; padding-bottom:95px; }
.rc-invitation>.serial { grid-column:1/-1; }
.rc-invitation h2 { font-size:clamp(34px,4.2vw,60px); }
.rc-invitation .small { margin-top:24px; }
.rc-collection { border-top:1px solid var(--line); padding-top:72px; padding-bottom:90px; scroll-margin-top:24px; }
.rc-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 70px; align-items:end; }
.rc-section-heading .eyebrow { grid-column:1/-1; }
.rc-section-heading h2 { font-size:clamp(44px,5.5vw,80px); }
.rc-section-heading .text-link { justify-self:end; }
.rc-object-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:65px; align-items:start; }
.rc-object-side-chair { padding-top:120px; }
.rc-object-rect-table { padding-top:50px; }
.rc-object-image { display:block; text-decoration:none; }
.rc-object .photo img { aspect-ratio:4/5; object-fit:contain; background:#eee5d7; }
.rc-object .photo figcaption { font-size:10px; }
.rc-object>.eyebrow { margin:24px 0 12px; }
.rc-object h3 { font-size:29px; }
.rc-object h3 a { text-decoration:none; }
.rc-object>p:last-child { font-size:14px; margin-top:18px; }
.rc-pairing { background:#492d25; color:#f7f0e3; padding:80px 0; }
.rc-pairing h2 { font-size:clamp(50px,6.5vw,90px); }
.rc-contexts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; margin-top:65px; }
.rc-contexts article { border-top:1px solid #ac9487; padding-top:23px; }
.rc-contexts h3 { font-size:27px; }
.rc-contexts p { margin-top:22px; font-size:14px; }
.rc-pairing a:focus-visible { outline-color:#f7f0e3; }
.rc-story { max-width:950px; text-align:center; padding-top:105px; padding-bottom:105px; }
.rc-story h2 { font-size:clamp(40px,5vw,68px); }
.rc-story>p { margin-top:32px; font-size:18px; }
.rc-next { border-top:1px solid var(--line); padding-top:75px; padding-bottom:85px; }
.rc-next h2 { font-size:clamp(44px,5.8vw,82px); }
.rc-next>.button { margin-top:20px; }
.rc-next>.small { margin-top:24px; max-width:650px; }
.rc-next>p:not(.eyebrow):not(.small) { max-width:650px; margin-top:26px; }
.rc-catalog { padding-top:35px; padding-bottom:70px; }
.theme-dining .rc-filter { display:flex; flex-wrap:wrap; gap:15px; align-items:center; padding-bottom:30px; }
.rc-filter>.eyebrow,.rc-filter>.small { flex-basis:100%; }
.rc-catalog-records { counter-reset:objects; }
.theme-dining .rc-catalog-card { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:55px 0 75px; margin:0; border-top:1px solid var(--line); }
.theme-dining .rc-catalog-card[hidden] { display:none!important; }
.rc-catalog-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:15px 30px; margin-bottom:35px; }
.rc-catalog-heading .serial { grid-column:1/-1; }
.theme-dining .rc-catalog-heading h2 { margin:0; font-size:clamp(35px,5.2vw,72px); }
.rc-catalog-heading .eyebrow { align-self:end; margin:0; }
.theme-dining .rc-catalog-card:nth-child(2)>div:first-child { order:0; }
.rc-catalog-photo { max-width:1080px; width:100%; justify-self:center; }
.rc-catalog-photo img { aspect-ratio:3/2; object-fit:contain; }
.rc-catalog-caption { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 80px; padding-top:32px; }
.rc-catalog-caption .specs { margin:0; }
.rc-catalog-caption>.text-link { grid-column:1; }
.rc-product-stage { padding-top:40px; padding-bottom:35px; }
.rc-product-image { max-width:1140px; margin:auto; }
.rc-product-image img { aspect-ratio:3/2; object-fit:contain; }
.rc-product-caption { display:flex; gap:25px; align-items:center; justify-content:space-between; padding-top:30px; }
.rc-product-record { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; border-top:1px solid var(--line); padding-top:75px; padding-bottom:75px; scroll-margin-top:24px; }
.rc-product-record h2 { font-size:52px; margin-bottom:30px; }
.rc-product-record .specs { margin:0; }
.rc-product-record .small { margin-top:22px; }
.rc-construction { border-top:1px solid var(--line); padding-top:65px; padding-bottom:75px; }
.rc-construction h2 { font-size:52px; }
.rc-construction ol { list-style:none; padding:0; margin:50px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.rc-construction li { border-top:1px solid var(--line); padding-top:20px; }
.rc-construction h3 { font-size:27px; margin-bottom:20px; }
.rc-construction p { font-size:15px; }
.rc-evidence { border-top:1px solid var(--line); padding-top:70px; padding-bottom:70px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:70px; }
.rc-evidence .small { margin-top:22px; }
.rc-evidence details { border-top:1px solid var(--line); padding:22px 0; }
.rc-evidence summary { cursor:pointer; font-weight:700; }
.rc-evidence details p { padding-top:20px; }
.rc-related { border-top:1px solid var(--line); padding-top:65px; padding-bottom:75px; }
.rc-related>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; margin-top:40px; }
.rc-related h3 { margin-top:25px; }
.rc-related article>p { margin-top:15px; font-size:12px; }
/* The remaining four routes use the same notebook grammar, with full-width
   story / working surfaces instead of carrying the homepage composition over. */
.theme-dining .company-story { display:block; }
.theme-dining .company-story>div { max-width:850px; margin:0 auto 55px; columns:2; column-gap:45px; }
.theme-dining .company-story aside { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:45px; align-items:end; }
.theme-dining .company-story aside .photo img { max-height:none; }
.theme-dining .guide-layout { grid-template-columns:minmax(0,1fr); gap:65px; }
.theme-dining .guide-layout>div { max-width:950px; width:100%; margin:auto; }
.theme-dining .guide-layout aside { border-top:1px solid var(--line); padding-top:35px; }
.theme-dining .guide-layout aside .steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
.theme-dining .contact-layout { grid-template-columns:minmax(0,1fr); gap:55px; }
.theme-dining .contact-layout>aside { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 45px; }
.theme-dining .contact-layout .identity { grid-row:1/4; }
.theme-dining .contact-sequence { margin:0; }
.theme-dining .contact-layout .selected-photo { max-width:460px; }
.theme-dining .contact-layout>div { max-width:960px; width:100%; margin:auto; }
.theme-dining .contact-layout fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; }
.theme-dining .contact-layout .form-field select { max-width:100%; min-width:0; }
.theme-dining .native-workbench { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
@media(max-width:900px) {
 .rc-cover-index { right:25px; }
 .rc-invitation,.rc-product-record,.rc-evidence { gap:35px; }
 .rc-object-grid { gap:20px; }
 .rc-object h3 { font-size:25px; }
 .rc-contexts { gap:25px; }
 .rc-catalog-caption { gap:25px; }
 .rc-construction ol { gap:24px; }
 .rc-product-record h2,.rc-construction h2 { font-size:43px; }
 .theme-dining .guide-layout aside .steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
 .rc-cover-heading { padding-top:32px; padding-bottom:28px; }
 .rc-cover-heading h1 { font-size:clamp(70px,20vw,118px); }
 .rc-cover-heading .eyebrow { font-size:10px; max-width:250px; }
 .rc-cover-index { position:static; margin-top:28px; font-size:10px; }
 .rc-room img { aspect-ratio:4/5; object-position:40% center; }
 .rc-room figcaption { padding:10px 20px; font-size:10px; }
 .rc-cover-caption,.rc-product-caption { align-items:start; flex-direction:column; gap:20px; }
 .rc-cover-caption p,.rc-product-caption p { font-size:23px; }
 .rc-invitation { display:block; padding-top:50px; padding-bottom:55px; }
 .rc-invitation>div { margin-top:28px; }
 .rc-section-heading { display:block; }
 .rc-section-heading .text-link { margin-top:25px; }
 .rc-object-grid { display:block; margin-top:40px; }
 .rc-object { padding:0 0 45px; }
 .rc-object+.rc-object { padding-top:30px; border-top:1px solid var(--line); }
 .rc-object .photo img { aspect-ratio:1; }
 .rc-object h3 { font-size:32px; }
 .rc-contexts { display:block; margin-top:40px; }
 .rc-contexts article+article { margin-top:35px; }
 .rc-story { padding-top:65px; padding-bottom:65px; }
 .rc-story>p { font-size:16px; }
 .rc-collection,.rc-next,.rc-pairing { padding-top:50px; padding-bottom:55px; }
 .rc-next .steps { grid-template-columns:1fr; }
 .theme-dining .rc-catalog-card { display:block!important; padding-top:35px; padding-bottom:45px; }
 .theme-dining .rc-catalog-card[hidden] { display:none!important; }
 .rc-catalog-heading,.rc-catalog-caption { display:block; }
 .rc-catalog-heading .eyebrow { margin-top:20px; }
 .rc-catalog-caption .specs { margin-top:25px; }
 .rc-catalog-photo img,.rc-product-image img { aspect-ratio:1; }
 .rc-product-record,.rc-evidence { display:block; padding-top:50px; padding-bottom:50px; }
 .rc-product-record>.specs,.rc-evidence>div+div { margin-top:40px; }
 .rc-construction { padding-top:50px; padding-bottom:50px; }
 .rc-construction ol { display:block; margin-top:35px; }
 .rc-construction li+li { margin-top:30px; }
 .rc-related>div { display:block; }
 .rc-related article+article { margin-top:40px; }
 .theme-dining .company-story>div { columns:auto; }
 .theme-dining .company-story aside { display:block; }
 .theme-dining .contact-layout>aside { display:block; }
 .theme-dining .contact-sequence { margin:25px 0; }
 .theme-dining .contact-layout fieldset,.theme-dining .native-workbench { display:block; }
 .theme-dining .native-workbench>div+div { margin-top:35px; }
 .theme-dining .guide-layout aside .steps { grid-template-columns:1fr; }
}
