/* ROBERTO · child theme styles for Divi pages. Loaded after Divi.
   Layout is carried by classes on Divi sections (rb-position-1, rb-statement, rb-pair, rb-position-4, rb-series,
   rb-closing, rb-works, rb-studio, rb-chronology, rb-about, rb-title, rb-others) and on modules (rb-work, rb-wl, rb-uc,
   rb-item, rb-tile, rb-row, rb-lead, rb-note, rb-bio, rb-contact, rb-reel). Those classes sit in Advanced › CSS Class.
   The text itself carries no class. It uses the editor's own formats (Heading 1 to 6, Quote, Paragraph) and each
   section decides how a format looks, so every text is edited in place like any Divi page.
   In the Visual Builder, Divi wraps a Text module's content in one more div ([data-shortcode-id]); where that content
   is laid out as a row or a grid, the wrapper carries the layout inside the builder (body.et-fb). */

:root{
  --rb-surface:#faf9f6; --rb-band:#f1f0ec;
  --rb-noir:#181818; --rb-muted:#6b6b6b; --rb-stone:#e3e2de;
  --rb-m:72px;
  --rb-serif:'EB Garamond',Georgia,serif;
  --rb-sans:'Hanken Grotesk',Helvetica,Arial,sans-serif;
  --rb-mark:'Jost',Futura,'Century Gothic',var(--rb-sans);
  --rb-base:min(32vh,26vw);   /* the height on screen of an 80 cm painting */
  --rb-strip:24vh;             /* the same, in the horizontal view */
  --rb-fs:16px;                /* body text */
  --rb-hh:88px;                /* the header's height */
}

/* ─── base and Divi resets ─────────────────────────────── */
body.rb{background:var(--rb-surface);color:var(--rb-noir);font-family:var(--rb-sans);font-size:16px;font-weight:400;line-height:normal;-webkit-font-smoothing:antialiased;overflow-x:hidden}   /* as the prototype: Divi sets weight 500 and 1.7em */
body.rb #page-container{padding-top:0!important;overflow:visible}
body.rb #main-content,body.rb #main-content .container{width:100%;max-width:none;padding:0}
body.rb #main-content .container:before{display:none}
body.rb #left-area{width:100%;padding:0;float:none}
body.rb .entry-content,body.rb #content-area{padding:0}
body.rb .et_pb_section{background:transparent;padding:0}
body.rb .et_pb_row{width:100%!important;max-width:100%!important;padding:0 var(--rb-m)!important;margin:0!important;display:flow-root}
body.rb:not(.et-fb) .et_pb_row{container-type:inline-size}   /* 100cqw = the row's content width, used to cap wide works */
body.rb .et_pb_row::before,body.rb .et_pb_row::after{display:none}   /* Divi's clearfix would become a flex/grid item; flow-root above contains the floated columns instead */
body.rb .et_pb_column{margin:0!important;min-width:0}
body.rb .et_pb_module{margin-bottom:0!important}   /* Divi's gutter puts a % margin under every module but the last in a column; the design sets its own spacing */
body.rb .et_pb_text_inner{line-height:inherit}
body.rb .et_pb_text_inner p{padding:0;margin:0}   /* every rule for text below is at least this specific and comes later */
body.rb a{color:inherit;text-decoration:none}
body.rb img{max-width:100%}
:where(body.rb) button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}   /* :where keeps it below each button's own rule */
body.rb .et_pb_image{text-align:left;margin:0;line-height:0}
body.rb .et_pb_image .et_pb_image_wrap{display:inline-block;line-height:0}
body.rb .et_pb_blurb .et_pb_blurb_content{max-width:none;text-align:left;margin:0}
body.rb .et_pb_blurb .et_pb_main_blurb_image{margin:0;line-height:0;display:block}
body.rb .et_pb_blurb .et_pb_image_wrap{display:inline-block;line-height:0}

/* ─── type: the editor's formats ───────────────────────────
   Heading 6 = the small grey label · Heading 1 = page title · Heading 2 = section title · Quote = the large line.
   In a painting's label, Heading 3 is the title and Heading 4 the subtitle. Paragraph = text. */
body.rb .et_pb_text h1,body.rb .et_pb_text h2,body.rb .et_pb_text h3,body.rb .et_pb_text h4,body.rb .et_pb_text h5,body.rb .et_pb_text h6{padding:0;margin:0;font-weight:400;color:var(--rb-noir)}
body.rb .et_pb_text h1{font-family:var(--rb-serif);font-size:44px;line-height:1.15}
body.rb .et_pb_text h2{font-family:var(--rb-serif);font-size:34px;line-height:1.2}
body.rb .et_pb_text h3{font-family:var(--rb-serif);font-size:24px;line-height:1.3}
body.rb .et_pb_text h4,body.rb .et_pb_text h5{font-family:var(--rb-serif);font-size:18px;line-height:1.3}
body.rb .et_pb_text h6{font-family:var(--rb-sans);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--rb-muted);line-height:normal}
body.rb .et_pb_text h6+h2{margin-top:14px}
body.rb .rb-series-head h6::before,body.rb .rb-works-head h6::before,body.rb .rb-chronology h6::before,body.rb .rb-about h6::before,body.rb .rb-others h6::before,body.rb .rb-title h6::before{content:"\200b";font-size:var(--rb-fs);letter-spacing:0}   /* the line of body text the preview's label stood in */
body.rb .et_pb_text blockquote{margin:0;padding:0;border:0;font-style:normal}
body.rb .et_pb_text blockquote p{font:inherit;color:inherit}
/* the short grey text beside a section title (Text module, class rb-lead) */
body.rb .rb-lead .et_pb_text_inner{padding-top:18px}
body.rb .rb-lead p{font-size:15px;line-height:1.75;color:var(--rb-muted);max-width:52ch}

body.rb .et_pb_section.rb-band{background:var(--rb-band);padding-top:12vh;padding-bottom:12vh;margin:16vh 0}
body.rb .et_pb_section.rb-space{padding-top:16vh}
body.rb .et_pb_section.rb-tail{padding-bottom:16vh}

/* reveal, only when JS is present */
.js .et_pb_section.rb-r{opacity:0;transform:translateY(12px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.js .et_pb_section.rb-r.rb-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .et_pb_section.rb-r{transition:none;opacity:1;transform:none}}

/* paintings: an Image module with class rb-work. All 80 cm works share one height; rb-s-* scales other heights. */
/* !important: Divi's per-module CSS (height:auto, width:100%) is written after ours, in the builder and on the front end */
/* --rb-ar (width ÷ height, written per image by inc/images.php) caps a wide work, such as a triptych, at the screen width on small screens: never cropped, never wider than the page */
body.rb .rb-work .et_pb_image_wrap img{height:calc(var(--rb-base) * var(--rb-s,1))!important;height:min(calc(var(--rb-base) * var(--rb-s,1)),calc(100cqw / var(--rb-ar,.001)))!important;width:auto!important;max-width:none!important;cursor:zoom-in}
body.rb .rb-work .et_pb_image_wrap{width:auto;max-width:none}
.rb-s-30{--rb-s:.6}.rb-s-40{--rb-s:.6}.rb-s-60{--rb-s:.75}.rb-s-100{--rb-s:1.25}.rb-s-120{--rb-s:1.5}.rb-s-160{--rb-s:1.6}

/* wall label (Text module, class rb-wl): Heading 6 series · Heading 3 title · Heading 4 subtitle ·
   one paragraph for medium, size and year (a new line inside it with Shift+Enter) · a link */
body.rb .rb-wl h6{margin-bottom:14px}
body.rb .rb-wl h3{font-family:var(--rb-serif);font-size:24px;font-style:italic;line-height:1.3;margin-bottom:4px}
body.rb .rb-wl h4{font-family:var(--rb-serif);font-size:16px;line-height:normal;color:var(--rb-muted);margin-bottom:10px}
body.rb .rb-wl p{font-size:13.5px;line-height:1.75;color:var(--rb-muted)}
body.rb .rb-wl h3+p{margin-top:6px}   /* no subtitle: the same step as after one */
body.rb .rb-wl p:has(a){font-size:16px;line-height:normal}
body.rb .rb-wl a,body.rb .rb-chronology-more a{display:inline-block;margin-top:22px;font-size:13px;letter-spacing:.04em;color:var(--rb-noir);border-bottom:1px solid var(--rb-stone);padding-bottom:3px;transition:border-color .25s}
body.rb .rb-wl a:hover,body.rb .rb-chronology-more a:hover{border-color:var(--rb-noir)}
/* under-caption (Text module, class rb-uc): Heading 3 title left, paragraph medium · size · year right */
body.rb .rb-uc .et_pb_text_inner{border-top:1px solid var(--rb-stone);padding-top:12px;margin-top:16px}
body.rb .rb-uc .et_pb_text_inner,body.rb.et-fb .rb-uc [data-shortcode-id]{display:flex;justify-content:space-between;gap:24px;align-items:baseline;flex-wrap:wrap}
body.rb.et-fb .rb-uc .et_pb_text_inner{display:block}
body.rb .rb-uc h3{font-family:var(--rb-serif);font-size:18px;font-style:italic;line-height:normal}
body.rb .rb-uc p{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--rb-muted);line-height:normal}

/* ─── header ───────────────────────────────────────────── */
.rb-header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--rb-hh);background:var(--rb-surface);display:flex;align-items:center;justify-content:space-between;padding:0 var(--rb-m);border-bottom:1px solid var(--rb-stone);transition:opacity .4s ease}
body.rb-has-opening .rb-header{opacity:0;pointer-events:none}
body.rb-has-opening .rb-header.rb-show{opacity:1;pointer-events:auto}
.rb-brand{display:flex;align-items:center;gap:16px}
.rb-brand img{height:44px;width:44px;object-fit:cover}
.rb-brand span{font-family:var(--rb-mark);font-weight:600;font-size:13px;letter-spacing:.5em;text-indent:.5em;color:var(--rb-noir)}
.rb-nav{display:flex;gap:40px}
.rb-nav li{list-style:none;margin:0;padding:0;font-size:14px}
.rb-nav a{font-size:14px;letter-spacing:.03em;color:var(--rb-muted);transition:color .25s}
.rb-nav a:hover,.rb-nav .current-menu-item>a,.rb-nav .current-menu-ancestor>a,.rb-nav .current_page_parent>a{color:var(--rb-noir)}
/* Works: a dropdown with Louise, Jessica, The Archive. It opens on hover and keyboard focus, and on a tap
   (roberto.js toggles rb-open); the panel hangs from the header's lower edge, sharing its hairline. */
.rb-nav>li{position:relative}
.rb-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:5px;height:5px;margin:0 1px 3px 9px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.rb-nav .menu-item-has-children::before{content:"";position:absolute;left:-24px;right:-24px;top:100%;height:calc((var(--rb-hh) - 18px) / 2)}   /* keeps the hover alive between the word and the panel */
.rb-nav .sub-menu{position:absolute;z-index:2;top:calc(100% + (var(--rb-hh) - 18px) / 2 - 1px);left:-24px;min-width:200px;margin:0;padding:18px 24px 20px;list-style:none;background:var(--rb-surface);border:1px solid var(--rb-stone);display:flex;flex-direction:column;gap:12px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1),visibility 0s linear .35s}
/* open: after a click or tap (rb-open, roberto.js) · on keyboard focus (not a mouse click's focus) · on hover where there is
   hover. One rule each, so a browser that does not know one selector still applies the others. */
.rb-nav .menu-item-has-children.rb-open>.sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1),visibility 0s}
.rb-nav .menu-item-has-children.rb-open>a::after{transform:translateY(3px) rotate(225deg)}
.rb-nav .menu-item-has-children:not(.rb-shut):has(:focus-visible)>.sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1),visibility 0s}
.rb-nav .menu-item-has-children:not(.rb-shut):has(:focus-visible)>a::after{transform:translateY(3px) rotate(225deg)}
@media (hover:hover){
  .rb-nav .menu-item-has-children:hover>.sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1),visibility 0s}
  .rb-nav .menu-item-has-children:hover>a::after{transform:translateY(3px) rotate(225deg)}
}
.rb-nav .sub-menu a{white-space:nowrap}
.rb-menu-btn{display:none;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--rb-noir);padding:14px 0 14px 14px}
.rb-menu{position:fixed;inset:0;z-index:60;background:var(--rb-surface);display:flex;flex-direction:column;padding:28px 24px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .38s ease,transform .45s cubic-bezier(.16,1,.3,1),visibility 0s linear .45s}
.rb-menu.rb-open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .38s ease,transform .45s cubic-bezier(.16,1,.3,1),visibility 0s}
.rb-menu-top{display:flex;justify-content:space-between;align-items:center;height:36px}
.rb-menu-top span{font-family:var(--rb-mark);font-weight:600;font-size:12px;letter-spacing:.5em;text-indent:.5em}
.rb-menu-close{font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:14px 0 14px 14px}
.rb-menu>ul{list-style:none;margin:10vh 0 0;padding:0}
.rb-menu .sub-menu{list-style:none;margin:0 0 26px;padding:0}
.rb-menu li{opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1);margin:0;padding:0}
.rb-menu.rb-open li{opacity:1;transform:none}
.rb-menu.rb-open li:nth-child(1){transition-delay:.08s}.rb-menu.rb-open li:nth-child(2){transition-delay:.14s}
.rb-menu.rb-open li:nth-child(3){transition-delay:.2s}.rb-menu.rb-open li:nth-child(4){transition-delay:.26s}.rb-menu.rb-open li:nth-child(5){transition-delay:.32s}
.rb-menu li a{display:block;font-family:var(--rb-serif);font-size:34px;font-style:italic;padding:11px 0;border-bottom:1px solid var(--rb-stone)}
.rb-menu .menu-item-has-children>a{pointer-events:none;font-family:var(--rb-sans);font-size:11px;font-style:normal;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--rb-muted);border-bottom:0;padding:0 0 4px}
.rb-menu-foot{margin-top:auto;font-size:13px;color:var(--rb-muted);line-height:1.9;opacity:0;transition:opacity .4s ease}
.rb-menu.rb-open .rb-menu-foot{opacity:1;transition-delay:.36s}
/* logged in (the editor, the Visual Builder): the header, menu and large view start under the WordPress bar */
body.admin-bar .rb-header,body.admin-bar .rb-menu,body.admin-bar .rb-lb{top:32px}
@media screen and (max-width:782px){body.admin-bar .rb-header,body.admin-bar .rb-menu,body.admin-bar .rb-lb{top:46px}}

/* ─── the opening ─────────────────────────────────────── */
.rb-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;cursor:pointer}
.rb-hero-name{position:relative;will-change:opacity,transform}
.rb-hero h1{--ls:1em;font-family:var(--rb-mark);font-weight:600;font-size:clamp(26px,5.8vw,120px);letter-spacing:var(--ls);padding:0 0 0 var(--ls);margin:0;text-indent:0;line-height:1;color:#111;white-space:nowrap}
.js .rb-hero h1 span{display:inline-block;visibility:hidden;text-indent:0;padding:0;transform:translateY(-.05em)}
.js .rb-hero h1 span.rb-on{visibility:visible;transform:none;transition:transform .08s ease-out}
.js .rb-hero.rb-done h1 span{visibility:visible;transform:none;transition:none}
html:not(.js) .rb-hero h1 span{display:inline-block;text-indent:0}

/* ─── page title (series pages, Works, About, …): paragraph with the back link · Heading 6 · Heading 1 ─── */
body.rb .rb-title .et_pb_row{padding-top:calc(88px + 10vh)!important}
body.rb .rb-title h1{font-family:var(--rb-serif);font-size:44px;line-height:1.15}
body.rb .rb-title h6+h1{margin-top:12px}
body.rb .rb-title p{margin:0 0 22px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rb-muted)}
body.rb .rb-title p a:hover{color:var(--rb-noir)}

/* ─── position 1: work left, label right ──────────────── */
body.rb .rb-position-1 .et_pb_row{display:grid;grid-template-columns:auto 1fr;gap:6vw;align-items:end;padding:calc(88px + 12vh) var(--rb-m) 0 calc(var(--rb-m) + 4vw)!important}
body.rb .rb-position-1.rb-after-title .et_pb_row{padding-top:10vh!important}
body.rb .rb-position-1 .et_pb_column{width:auto!important}
.rb-position-1 .rb-wl{max-width:320px;padding-bottom:4px}

/* ─── series line and text (band): Quote + Heading 6 | paragraphs (class rb-note) ─── */
body.rb .rb-statement .et_pb_row{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:start}
body.rb .rb-statement .et_pb_column{width:auto!important}
body.rb .rb-statement blockquote{font-family:var(--rb-serif);font-size:44px;line-height:1.28;color:var(--rb-noir)}
body.rb .rb-statement blockquote+h6{margin-top:26px}
body.rb .rb-note p{font-size:16px;line-height:1.8;color:var(--rb-muted);margin:0 0 18px;max-width:40ch}
body.rb .rb-note p:last-child{margin-bottom:0}

/* ─── positions 2 and 3: one on the left margin, one on the right edge, one height ─── */
body.rb .rb-pair .et_pb_row{display:flex;flex-wrap:wrap;row-gap:8vh;align-items:flex-start;justify-content:space-between;padding:0 calc(var(--rb-m) + 3vw) 0 var(--rb-m)!important}
body.rb .rb-pair .et_pb_column{width:auto!important;flex:none;display:flex;flex-direction:column}
body.rb .rb-pair .et_pb_column:last-child{margin-left:auto!important}   /* when a wide work leaves no room beside it, the second work drops a line and keeps the right edge */
body.rb .rb-pair .et_pb_column:last-child .rb-uc{width:0;min-width:100%}   /* on the right the work sets the width and keeps the right edge; the caption wraps under it */

/* ─── position 4: label directly left of the work ─────── */
body.rb .rb-position-4 .et_pb_row{display:flex;justify-content:flex-end;align-items:flex-end;gap:64px;padding:0 calc(var(--rb-m) + 3vw) 0 var(--rb-m)!important}
body.rb .rb-position-4 .et_pb_column{width:auto!important}
.rb-position-4 .rb-wl{max-width:320px;padding-bottom:4px;text-align:left}

/* ─── the series, in one horizontal view ───────────────── */
body.rb .rb-series .et_pb_row.rb-series-head{display:grid;grid-template-columns:300px 1fr;gap:6vw;align-items:baseline;margin-bottom:6vh!important}
body.rb .rb-series-head .rb-lead .et_pb_text_inner{padding-top:0}
body.rb .rb-series{scroll-margin-top:calc(var(--rb-hh) + 5vh)}   /* "View the series →" lands with the title below the header */
body.rb .rb-series .et_pb_row.rb-series-head .et_pb_column{width:auto!important}
body.rb .et_pb_row.rb-strip{padding:0!important}   /* edge to edge; the column below carries the page margin */
body.rb .rb-strip .et_pb_column{display:flex;align-items:flex-end;gap:7vw;padding:2vh var(--rb-m) 3vh;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;width:100%!important}
body.rb .rb-strip .et_pb_column::-webkit-scrollbar{display:none}
body.rb .rb-strip .et_pb_column.rb-dragging{cursor:grabbing;scroll-behavior:auto}
body.rb .rb-strip .et_pb_column::after{content:"";flex:none;width:1px;height:1px}
body.rb .rb-strip .et_pb_blurb{flex:none;margin:0}
body.rb .rb-strip .et_pb_blurb .et_pb_main_blurb_image img{height:calc(var(--rb-strip) * var(--rb-s,1))!important;width:auto!important;max-width:none!important;object-fit:contain;cursor:zoom-in}
body.rb .rb-strip .et_pb_blurb .et_pb_main_blurb_image .et_pb_image_wrap{width:auto;max-width:none}
/* a work (Blurb, class rb-item): the Title, then in its text Heading 6 = the short note after the title (diptych,
   in progress). Heading 4 (subtitle) and the paragraph (medium, size, year) are shown in the large view only. */
body.rb .rb-strip .et_pb_blurb .et_pb_blurb_container{padding:0;margin-top:12px;font-size:12px;line-height:normal;color:var(--rb-muted);letter-spacing:.04em;white-space:nowrap}
body.rb .rb-strip .et_pb_blurb .et_pb_module_header{display:inline;font-family:var(--rb-serif);font-size:14px;font-style:italic;font-weight:400;color:var(--rb-noir);margin:0;padding:0;line-height:normal}
body.rb .rb-strip .et_pb_blurb .et_pb_blurb_description,body.rb.et-fb .rb-strip .et_pb_blurb_description [data-shortcode-id]{display:inline}
body.rb .rb-strip .et_pb_blurb .et_pb_blurb_description :is(h1,h2,h3,h4,h5,p){display:none}
body.rb .rb-strip .et_pb_blurb .et_pb_blurb_description h6{display:inline;margin:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
body.rb .rb-strip .et_pb_blurb .et_pb_blurb_description h6::before{content:" · "}
.rb-track{margin:2vh var(--rb-m) 0;height:1px;background:var(--rb-stone);position:relative}
.rb-track i{position:absolute;left:0;top:0;height:1px;width:20%;background:var(--rb-noir)}
body.rb .rb-series .et_pb_row.rb-series-foot{margin-top:14px!important}
body.rb .rb-series-foot p{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--rb-muted)}
/* ‹ › (added by roberto.js): directly under the title at 1100px and wider, else at the right of "Eight works".
   Muted, darker on hover, faint at either end. The negative margins keep the 36px touch area from changing the
   line's height or moving the arrows off the title's left edge or the view's right edge. */
body.rb .rb-series .et_pb_row.rb-series-foot{display:flex;justify-content:space-between;align-items:center;gap:24px}
body.rb .rb-series .et_pb_row.rb-series-foot .et_pb_column{width:auto!important}
.rb-strip-nav{display:flex;gap:4px;margin:-10px -14px -10px auto}
.rb-strip-nav[hidden]{display:none}
.rb-strip-nav button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;color:var(--rb-muted);transition:color .25s,opacity .25s}
.rb-strip-nav button:hover{color:var(--rb-noir)}
.rb-strip-nav button[disabled]{opacity:.25;cursor:default}
.rb-strip-nav svg{width:8px;height:14px;fill:none;stroke:currentColor;stroke-width:1.1;overflow:visible}
.rb-track+.rb-strip-nav{justify-content:flex-end;margin:6px calc(var(--rb-m) - 14px) 0 auto}   /* a series without its "Eight works" line */
body.rb .rb-series-head .rb-strip-nav{width:max-content;margin:2px 0 -10px -14px}

/* ─── the artist statement (closing line): Heading 6 | Quote + Heading 6 ─── */
body.rb .rb-closing .et_pb_row{display:grid;grid-template-columns:300px 1fr;gap:6vw;align-items:start}
body.rb .rb-closing .et_pb_column{width:auto!important}
body.rb .rb-closing blockquote{font-family:var(--rb-serif);font-size:40px;line-height:1.3;max-width:22ch;color:var(--rb-noir)}
body.rb .rb-closing blockquote+h6,body.rb .rb-closing .et_pb_column:first-child h6{margin-top:24px}

/* ─── the archive: one Blurb per group, same size, one top line ── */
body.rb .rb-works .et_pb_row.rb-works-head{display:grid;grid-template-columns:300px 1fr;gap:6vw;align-items:start;margin-bottom:56px!important}
body.rb .rb-works .et_pb_row.rb-works-head .et_pb_column{width:auto!important}
body.rb .rb-works .et_pb_row.rb-works-row{display:flex;align-items:flex-start;gap:6vw;padding-left:calc(var(--rb-m) + 4vw)!important}
body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column{width:auto!important;flex:none}
body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column:nth-child(2){margin-left:4vw!important}
body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column:nth-child(3){margin-left:8vw!important}
body.rb .rb-tile .et_pb_main_blurb_image img{width:14vw!important;height:auto!important}
body.rb .rb-tile .et_pb_main_blurb_image .et_pb_image_wrap{display:block}
body.rb .rb-tile .et_pb_blurb_container{padding:0}
body.rb .rb-tile .et_pb_module_header{font-family:var(--rb-serif);font-size:20px;font-style:italic;font-weight:400;color:var(--rb-noir);border-top:1px solid var(--rb-stone);padding:12px 0 0;margin:16px 0 0;line-height:normal}
body.rb .rb-tile .et_pb_blurb_description{font-size:12.5px;color:var(--rb-muted);letter-spacing:.04em;line-height:normal}
body.rb .rb-tile .et_pb_blurb_description p{margin:8px 0 0;padding:0}
body.rb .rb-tile .et_pb_blurb_description a{display:inline-block;margin-top:8px;font-size:13px;color:var(--rb-noir);border-bottom:1px solid var(--rb-stone);padding-bottom:3px;letter-spacing:.04em}
body.rb .rb-tile .et_pb_blurb_description a:hover{border-color:var(--rb-noir)}

/* ─── studio: Image module + Text module (Heading 6, paragraph) ─── */
body.rb .rb-studio .et_pb_row{display:flex;gap:7vw;align-items:flex-end;padding:0 var(--rb-m) 0 calc(var(--rb-m) + 10vw)!important}
body.rb .rb-studio .et_pb_column{width:auto!important;flex:none}
body.rb .rb-studio .et_pb_column:last-child{max-width:36ch;padding-bottom:8px}
body.rb .rb-studio .et_pb_image img{height:var(--rb-base)!important;width:auto!important;max-width:none!important}
body.rb .rb-studio h6{margin-bottom:16px}
body.rb .rb-studio .et_pb_text p{font-size:16px;line-height:1.8;color:var(--rb-muted);margin:0 0 14px}

/* ─── chronology: one Text module per entry (class rb-row): paragraph year · Heading 4 title · paragraph venue ·
   paragraph place (may be left out) ─── */
body.rb .rb-chronology .et_pb_row{display:grid;grid-template-columns:300px 1fr;gap:6vw;align-items:start}
body.rb .rb-chronology .et_pb_column{width:auto!important}
body.rb .rb-chronology .et_pb_row+.et_pb_row{margin-top:10vh!important}   /* several groups on the Exhibitions page */
body.rb .rb-chronology-more a{margin-top:28px}
body.rb .rb-row .et_pb_text_inner{padding:18px 0;border-bottom:1px solid var(--rb-stone)}
body.rb .rb-chronology .rb-row:first-child .et_pb_text_inner{border-top:1px solid var(--rb-stone)}
body.rb .rb-row .et_pb_text_inner,body.rb.et-fb .rb-row [data-shortcode-id]{display:grid;grid-template-columns:72px 1fr 170px;column-gap:28px;row-gap:0;align-items:start}
body.rb.et-fb .rb-row .et_pb_text_inner{display:block}
body.rb .rb-row p,body.rb .rb-row h4{grid-column:2;margin:0}
body.rb .rb-row p:first-child{grid-column:1;grid-row:1 / span 2;font-size:12.5px;letter-spacing:.08em;color:var(--rb-muted);line-height:normal;padding-top:4px}
body.rb .rb-row h4{grid-row:1;font-family:var(--rb-serif);font-size:18px;line-height:normal;color:var(--rb-noir);margin-bottom:3px}
body.rb .rb-row h4+p{grid-row:2;font-size:13.5px;line-height:normal;color:var(--rb-muted)}
body.rb .rb-row h4+p+p{grid-column:3;grid-row:1 / span 2;text-align:right;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rb-muted);line-height:normal;padding-top:5px}

/* ─── about: Heading 6 | bio (class rb-bio) and contact (class rb-contact) | the reel ─── */
body.rb .rb-about .et_pb_row{display:grid;grid-template-columns:300px minmax(0,1fr) calc(var(--rb-base) * 9 / 16);gap:6vw;align-items:start}
body.rb .rb-about .et_pb_row.et_pb_row_1-4_3-4{grid-template-columns:300px minmax(0,1fr)}   /* the Contact page: label | text */
body.rb .rb-about .et_pb_column{width:auto!important;min-width:0}
body.rb .rb-bio p{font-size:17px;line-height:1.78;max-width:56ch;margin:0 0 1em;color:var(--rb-noir)}
body.rb .rb-bio p:last-child{margin-bottom:0}
body.rb .rb-contact .et_pb_text_inner{border-top:1px solid var(--rb-stone);margin-top:44px;padding-top:26px;max-width:56ch}
body.rb .rb-contact p{font-size:14px;line-height:2;color:var(--rb-muted)}
body.rb .rb-contact a:hover{color:var(--rb-noir)}
body.rb .rb-reel{width:calc(var(--rb-base) * 9 / 16);margin:0}
body.rb .rb-reel .et_pb_video_box{background:#e9e8e3;aspect-ratio:9/16;line-height:0}
body.rb .rb-reel .et_pb_video_box video{width:100%;height:100%;object-fit:cover;display:block}
body.rb .rb-reel .et_pb_video_overlay{background-size:cover;background-position:center}
body.rb .rb-reel .et_pb_video_overlay_hover{background:none}
body.rb .rb-reel .et_pb_video_play{display:none}
body.rb .rb-reel .et_pb_video_overlay::after{content:"Play";position:absolute;left:16px;bottom:16px;background:rgba(250,249,246,.94);color:var(--rb-noir);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:12px 16px;line-height:1;font-family:var(--rb-sans)}
body.rb .rb-reel-cap p{margin:12px 0 0;font-size:12px;letter-spacing:.05em;color:var(--rb-muted);line-height:normal}
body.rb .rb-reel-cap i,body.rb .rb-reel-cap em{font-family:var(--rb-serif);font-size:14px;font-style:italic;color:var(--rb-noir)}

/* ─── other groups (series pages): Heading 6 + Heading 2 | links in one paragraph (class rb-others-links) ─── */
body.rb .rb-others .et_pb_row{display:grid;grid-template-columns:300px 1fr;gap:6vw;align-items:start}
body.rb .rb-others .et_pb_column{width:auto!important}
body.rb .rb-others-links p{display:flex;gap:10vw;align-items:baseline;flex-wrap:wrap}
body.rb .rb-others-links a{font-family:var(--rb-serif);font-size:22px;font-style:italic;border-bottom:1px solid var(--rb-stone);padding-bottom:4px}
body.rb .rb-others-links a:hover{border-color:var(--rb-noir)}
body.rb .et_pb_section.rb-404{padding-top:6vh}
body.rb .rb-404-links{margin-top:32px}

/* ─── footer ───────────────────────────────────────────── */
.rb-footer{padding:0 var(--rb-m) 56px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em;color:var(--rb-muted);text-transform:uppercase}

/* ─── the large view ──────────────────────────────────── */
.rb-lb{position:fixed;inset:0;z-index:99990;background:rgba(250,249,246,.985);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px var(--rb-m) 40px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}
.rb-lb.rb-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease,visibility 0s}
.rb-lb figure{margin:0;display:flex;flex-direction:column;align-items:flex-start;max-width:100%}
.rb-lb img{max-width:min(88vw,1400px);max-height:72vh;width:auto;height:auto;object-fit:contain;transform:scale(.985);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.rb-lb.rb-open img{transform:none}
.rb-lb figcaption{margin-top:18px;display:flex;gap:28px;align-items:baseline;flex-wrap:wrap}
.rb-lb .rb-t{font-family:var(--rb-serif);font-size:22px;font-style:italic}
.rb-lb .rb-st{font-family:var(--rb-serif);font-size:16px;color:var(--rb-muted)}
.rb-lb .rb-m{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--rb-muted)}
.rb-lb-x{position:absolute;top:22px;right:var(--rb-m);font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:14px 0 14px 14px}
.rb-lb-nav{position:absolute;bottom:26px;left:var(--rb-m);right:var(--rb-m);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rb-muted)}
.rb-lb-nav button{padding:12px 0}
.rb-lb-nav button:hover{color:var(--rb-noir)}
.rb-lb-nav button[disabled]{opacity:.25;cursor:default}
.rb-lb-count{position:absolute;top:32px;left:var(--rb-m);font-size:12px;letter-spacing:.16em;color:var(--rb-muted)}

/* ═══ TABLET (700 to 1099px) ═══ */
@media (max-width:1099px){
  :root{--rb-m:40px;--rb-base:min(26vh,30vw);--rb-strip:22vh;--rb-hh:76px}
  body.rb .et_pb_section.rb-band{padding-top:10vh;padding-bottom:10vh;margin:12vh 0}
  body.rb .et_pb_section.rb-space{padding-top:12vh}
  body.rb .rb-title .et_pb_row{padding-top:calc(76px + 8vh)!important}
  body.rb .rb-title h1{font-size:36px}
  body.rb .rb-position-1 .et_pb_row{grid-template-columns:1fr;gap:22px;padding:calc(76px + 8vh) var(--rb-m) 0 calc(var(--rb-m) + 6vw)!important}
  body.rb .rb-position-1.rb-after-title .et_pb_row{padding-top:8vh!important}
  .rb-position-1 .rb-wl{max-width:none}
  /* the label beside itself: title | subtitle, then medium, size, year | the link */
  body.rb .rb-position-1 .rb-wl .et_pb_text_inner,body.rb.et-fb .rb-position-1 .rb-wl [data-shortcode-id]{display:grid;grid-template-columns:1fr 1fr;gap:6px 32px;align-items:baseline}
  body.rb.et-fb .rb-position-1 .rb-wl .et_pb_text_inner{display:block}
  body.rb .rb-position-1 .rb-wl h6{grid-column:1 / -1}
  body.rb .rb-position-1 .rb-wl h3,body.rb .rb-position-1 .rb-wl p{grid-column:1}
  body.rb .rb-position-1 .rb-wl h4{grid-column:2}
  body.rb .rb-position-1 .rb-wl p:has(a){grid-column:1 / -1}
  body.rb .rb-statement .et_pb_row{grid-template-columns:1fr;gap:28px}
  body.rb .rb-statement blockquote{font-size:36px}
  body.rb .rb-pair .et_pb_row{padding:0 var(--rb-m)!important}
  body.rb .rb-position-4 .et_pb_row{gap:48px;padding:0 var(--rb-m)!important}
  body.rb .rb-series .et_pb_row.rb-series-head,body.rb .rb-closing .et_pb_row,body.rb .rb-works .et_pb_row.rb-works-head,body.rb .rb-chronology .et_pb_row,body.rb .rb-others .et_pb_row{grid-template-columns:1fr;gap:10px}
  body.rb .et_pb_text h2{font-size:30px}
  body.rb .rb-lead .et_pb_text_inner,body.rb .rb-series-head .rb-lead .et_pb_text_inner{padding-top:6px}
  body.rb .rb-closing blockquote{font-size:32px}
  body.rb .rb-works .et_pb_row.rb-works-row{gap:5vw;padding-left:var(--rb-m)!important}
  body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column:nth-child(2){margin-left:3vw!important}
  body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column:nth-child(3){margin-left:6vw!important}
  body.rb .rb-tile .et_pb_main_blurb_image img{width:20vw!important}
  body.rb .rb-studio .et_pb_row{padding-left:var(--rb-m)!important}
  body.rb .rb-about .et_pb_row{grid-template-columns:minmax(0,1fr) calc(var(--rb-base) * 9 / 16);gap:10px 5vw}
  body.rb .rb-about .et_pb_row.et_pb_row_1-4_3-4{grid-template-columns:minmax(0,1fr)}
  body.rb .rb-about .et_pb_column:first-child{grid-column:1 / -1}
  body.rb .rb-row .et_pb_text_inner,body.rb.et-fb .rb-row [data-shortcode-id]{grid-template-columns:60px 1fr 130px;column-gap:20px}
  .rb-lb{padding:56px var(--rb-m) 60px}
  .rb-lb img{max-width:90vw;max-height:66vh}
}

/* ═══ PORTRAIT on a tablet, or a phone held sideways: position 4 stacks, text under the work, on the right edge ═══ */
@media (max-width:1099px) and (orientation:portrait), (max-width:1099px) and (max-height:500px){
  body.rb .rb-position-4 .et_pb_row{flex-direction:column;align-items:flex-end;gap:22px}
  body.rb .rb-position-4 .et_pb_column:first-child{order:2}
  .rb-position-4 .rb-wl{max-width:none;text-align:right}
}

/* ═══ PHONE (under 700px) ═══ */
@media (max-width:699px){
  :root{--rb-m:20px;--rb-base:40vw;--rb-strip:22vh;--rb-fs:15px;--rb-hh:64px}
  body.rb{font-size:15px}
  .rb-hero h1{--ls:.7em;font-size:clamp(22px,6.4vw,34px)}
  .rb-header{padding:0 var(--rb-m)}
  .rb-brand img{height:36px;width:36px}
  .rb-brand span{font-size:11px;letter-spacing:.42em;text-indent:.42em}
  .rb-nav{display:none}
  .rb-menu-btn{display:block}
  body.rb .et_pb_section.rb-band{padding-top:8vh;padding-bottom:8vh;margin:9vh 0}
  body.rb .et_pb_section.rb-space{padding-top:9vh}
  body.rb .et_pb_text h6{font-size:10.5px}
  body.rb .rb-title .et_pb_row{padding-top:calc(64px + 6vh)!important}
  body.rb .rb-title h1{font-size:30px}
  body.rb .rb-position-1 .et_pb_row{padding:calc(64px + 6vh) var(--rb-m) 0 calc(var(--rb-m) + 6vw)!important;gap:16px}
  body.rb .rb-position-1.rb-after-title .et_pb_row{padding-top:6vh!important}
  body.rb .rb-position-1 .rb-wl .et_pb_text_inner,body.rb.et-fb .rb-position-1 .rb-wl [data-shortcode-id]{grid-template-columns:1fr;gap:4px}
  body.rb .rb-position-1 .rb-wl .et_pb_text_inner h4,body.rb .rb-position-1 .rb-wl .et_pb_text_inner p{grid-column:1}
  body.rb .rb-wl h3{font-size:22px}
  body.rb .rb-wl h4{font-size:15px}
  body.rb .rb-wl p{font-size:13px}
  body.rb .rb-uc .et_pb_text_inner{padding-top:10px;margin-top:12px}
  body.rb .rb-uc .et_pb_text_inner,body.rb.et-fb .rb-uc [data-shortcode-id]{gap:6px 16px}
  body.rb .rb-uc h3{font-size:16px}
  body.rb .rb-uc p{font-size:11.5px}
  body.rb .rb-statement blockquote{font-size:28px;line-height:1.3}
  body.rb .rb-note p{font-size:15px}
  body.rb .rb-pair .et_pb_row{flex-direction:column;row-gap:0;padding:0 var(--rb-m)!important}
  body.rb .rb-pair .et_pb_column:last-child{margin:8vh 0 0 auto!important;align-items:flex-end}
  body.rb .rb-pair .et_pb_column:last-child .rb-uc{width:100%}
  body.rb .rb-position-4 .et_pb_row{flex-direction:column;align-items:flex-end;gap:16px;padding:0 var(--rb-m)!important}
  body.rb .rb-position-4 .et_pb_column:first-child{order:2}
  .rb-position-4 .rb-wl{max-width:none;text-align:right;margin-top:2px}
  body.rb .rb-strip .et_pb_column{gap:9vw;padding:1vh var(--rb-m) 2vh}
  .rb-strip-nav button{width:44px;height:44px}   /* a finger-sized target */
  .rb-strip-nav{margin:-14px -18px -14px auto}
  body.rb .et_pb_text h2{font-size:26px}
  body.rb .rb-closing blockquote{font-size:26px;max-width:none}
  body.rb .rb-closing blockquote+h6,body.rb .rb-closing .et_pb_column:first-child h6{margin-top:18px}
  body.rb .rb-works .et_pb_row.rb-works-row{flex-direction:column;gap:0;padding-left:var(--rb-m)!important}
  body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column{width:56%!important;margin:0!important}
  body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column:nth-child(2){margin:8vh 0 0 auto!important}
  body.rb .rb-works .et_pb_row.rb-works-row .et_pb_column:nth-child(3){margin:8vh 0 0 6vw!important}
  body.rb .rb-tile .et_pb_main_blurb_image img{width:100%!important}
  body.rb .rb-tile .et_pb_module_header{font-size:17px;padding-top:10px;margin-top:12px}
  body.rb .rb-works .et_pb_row.rb-works-head{margin-bottom:32px!important}
  body.rb .rb-studio .et_pb_row{flex-direction:column;align-items:flex-start;gap:18px;padding:0 var(--rb-m)!important}
  body.rb .rb-studio .et_pb_image img{height:auto!important;width:56vw!important}
  body.rb .rb-studio .et_pb_column:last-child{max-width:none}
  /* an entry: year | title, venue and place one under the other */
  body.rb .rb-row .et_pb_text_inner{padding:14px 0}
  body.rb .rb-row .et_pb_text_inner,body.rb.et-fb .rb-row [data-shortcode-id]{grid-template-columns:52px 1fr;column-gap:16px}
  body.rb .rb-row p:first-child{font-size:11.5px}
  body.rb .rb-row h4{font-size:16px}
  body.rb .rb-row h4+p+p{grid-column:2;grid-row:3;text-align:left;padding-top:0;margin-top:6px;font-size:10.5px}
  body.rb .rb-about .et_pb_row{grid-template-columns:1fr;gap:28px}
  body.rb .rb-bio p{font-size:15.5px}
  body.rb .rb-contact .et_pb_text_inner{margin-top:28px;padding-top:18px}
  body.rb .rb-reel,body.rb .rb-reel-cap{width:64%}
  body.rb .rb-others-links p{flex-direction:column;gap:18px}
  .rb-footer{padding-bottom:40px;flex-direction:column;gap:6px}
  .rb-lb{padding:64px var(--rb-m) 70px}
  .rb-lb img{max-width:92vw;max-height:58vh}
  .rb-lb .rb-t{font-size:19px}
  .rb-lb figcaption{gap:8px 18px;margin-top:14px}
}
