/* Page-shell adjustments stay on page 220; component styling is reusable. */
body.page-id-220 #content > .ast-container {max-width:none;padding:0;display:block}
body.page-id-220 #primary {margin:0;width:100%}
body.page-id-220 .site-main > article {padding:0;margin:0;background:transparent}
body.page-id-220 .entry-header {display:none}
body.page-id-220 .entry-content > .ruelle-branding {max-width:none;margin:0}
.ruelle-branding, .rb-services {--rb-cream:#f6f3ec;--rb-brown:#5e4040;--rb-pink:#da257a;--rb-sand:#cfcabe;--rb-amber:#fe9e14;background:var(--rb-cream);color:var(--rb-brown);font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.65;overflow:clip}
:is(.ruelle-branding, .rb-services) *, :is(.ruelle-branding, .rb-services) *::before,:is(.ruelle-branding, .rb-services) *::after {box-sizing:border-box}
:is(.ruelle-branding, .rb-services) ::selection {background:var(--rb-pink);color:white}
:is(.ruelle-branding, .rb-services) :is(h1,h2,h3,p,figure,.wp-block-group,.wp-block-buttons) {margin:0}
:is(.ruelle-branding, .rb-services) :is(h1,h2,h3) {font-family:'Averia Serif Libre',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.04;color:inherit;text-wrap:balance}
:is(.ruelle-branding, .rb-services) h2 {font-size:clamp(40px,4.6vw,66px)}
:is(.ruelle-branding, .rb-services) h3 {font-size:30px;letter-spacing:-.02em}
:is(.ruelle-branding, .rb-services) p {max-width:65ch}
:is(.ruelle-branding, .rb-services) p + p {margin-top:18px}
:is(.ruelle-branding, .rb-services) a {color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
:is(.ruelle-branding, .rb-services) a:focus-visible,:is(.ruelle-branding, .rb-services) summary:focus-visible {outline:3px solid currentColor;outline-offset:6px}
:is(.ruelle-branding, .rb-services) .wp-block-button__link {font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.4;padding:17px 23px;border-radius:0;background:var(--rb-brown);color:var(--rb-cream);text-decoration:none;border:1px solid transparent;transition:background-color .2s ease,color .2s ease}
:is(.ruelle-branding, .rb-services) .wp-block-button__link:hover {background:var(--rb-cream);color:var(--rb-brown);border-color:var(--rb-brown)}
:is(.ruelle-branding, .rb-services) img {display:block;width:100%;height:100%;object-fit:cover}
:is(.ruelle-branding, .rb-services) .rb-hero {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;gap:32px 24px;max-width:1440px;margin:0 auto;padding:76px 5% 120px;align-items:start}
:is(.ruelle-branding, .rb-services) .rb-title {grid-column:2/9;grid-row:1;font-size:clamp(60px,7.2vw,96px);z-index:1;position:relative}
:is(.ruelle-branding, .rb-services) .rb-title em {color:var(--rb-pink)}
:is(.ruelle-branding, .rb-services) .rb-hero-main {grid-column:9/13;grid-row:1/3;margin-top:58px;transform:rotate(3deg);aspect-ratio: .72;box-shadow:0 18px 35px #5e40401c}
:is(.ruelle-branding, .rb-services) .rb-hero-small {grid-column:1/4;grid-row:2;transform:rotate(-5deg);margin-top:22px;aspect-ratio:1.2}
:is(.ruelle-branding, .rb-services) .rb-intro {grid-column:5/9;grid-row:2;padding-top:8px;padding-right:16px}
:is(.ruelle-branding, .rb-services) .rb-lead {font-size:19px;font-weight:500;line-height:1.5}
:is(.ruelle-branding, .rb-services) .rb-intro .wp-block-buttons {margin-top:26px}
.rb-services.rb-services {display:grid;grid-template-columns:1.08fr 1fr;background:var(--rb-brown);color:var(--rb-cream)}
:is(.ruelle-branding, .rb-services) .rb-service-copy {padding:85px clamp(28px,6vw,96px) 80px}
:is(.ruelle-branding, .rb-services) .rb-service-copy > p {margin:26px 0 36px;max-width:39ch}
:is(.ruelle-branding, .rb-services) .wp-block-details {border-top:1px solid #f6f3ec66;padding:20px 0;margin:0}
:is(.ruelle-branding, .rb-services) .wp-block-details:last-child {border-bottom:1px solid #f6f3ec66}
:is(.ruelle-branding, .rb-services) summary {cursor:pointer;font-family:'Averia Serif Libre',Georgia,serif;font-size:28px;line-height:1.2;list-style:none;position:relative;padding-right:32px}
:is(.ruelle-branding, .rb-services) summary::-webkit-details-marker {display:none}
:is(.ruelle-branding, .rb-services) summary::after {content:'';position:absolute;right:4px;top:8px;width:10px;height:10px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);transition:transform .2s ease}
:is(.ruelle-branding, .rb-services) details[open] summary::after {transform:rotate(225deg);top:13px}
:is(.ruelle-branding, .rb-services) details[open] summary {margin-bottom:17px}
:is(.ruelle-branding, .rb-services) details p {font-size:15px;max-width:48ch}
:is(.ruelle-branding, .rb-services) .rb-service-art {position:relative;min-height:650px}
:is(.ruelle-branding, .rb-services) .rb-service-image {height:100%}
:is(.ruelle-branding, .rb-services) .rb-service-image img {object-position:60% center}
:is(.ruelle-branding, .rb-services) .rb-image-note {position:absolute;left:-30px;bottom:64px;background:var(--rb-sand);color:var(--rb-brown);padding:28px 36px;font-family:'Averia Serif Libre',Georgia,serif;font-size:34px;line-height:1.12;transform:rotate(-4deg);max-width:300px}
:is(.ruelle-branding, .rb-services) .rb-process {padding:125px 8%;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;max-width:1440px;margin:auto}
:is(.ruelle-branding, .rb-services) .rb-process-heading {position:relative}
:is(.ruelle-branding, .rb-services) .rb-process-heading h2 {color:var(--rb-pink)}
:is(.ruelle-branding, .rb-services) .rb-process-heading p {margin-top:30px;max-width:32ch}
:is(.ruelle-branding, .rb-services) .rb-process-body h3:not(:first-child) {margin-top:34px}
:is(.ruelle-branding, .rb-services) .rb-process-body p {margin-top:14px;font-size:16px}
:is(.ruelle-branding, .rb-services) .rb-contact {display:grid;grid-template-columns:1fr 1.5fr;gap:10%;align-items:center;background:var(--rb-amber);padding:84px 12% 84px 16%}
:is(.ruelle-branding, .rb-services) .rb-portrait {max-width:300px;transform:rotate(-5deg)}
:is(.ruelle-branding, .rb-services) .rb-portrait img {object-fit:contain}
:is(.ruelle-branding, .rb-services) .rb-contact-copy p {margin-top:26px;max-width:37ch}
:is(.ruelle-branding, .rb-services) .rb-contact .wp-block-buttons {margin-top:28px}
:is(.ruelle-branding, .rb-services) .rb-email {font-size:14px}
@media(min-width:1700px){.rb-services.rb-services {padding-left:calc((100vw - 1600px)/2);padding-right:calc((100vw - 1600px)/2)}}
@media(max-width:1024px){:is(.ruelle-branding, .rb-services) .rb-hero {padding:64px 5% 85px;gap:26px 16px}:is(.ruelle-branding, .rb-services) .rb-title {grid-column:1/9;font-size:clamp(60px,8.5vw,84px)}:is(.ruelle-branding, .rb-services) .rb-hero-main {grid-column:9/13;aspect-ratio:.6}:is(.ruelle-branding, .rb-services) .rb-intro {grid-column:4/9}:is(.ruelle-branding, .rb-services) .rb-service-copy {padding:60px 30px}:is(.ruelle-branding, .rb-services) summary {font-size:25px}:is(.ruelle-branding, .rb-services) .rb-process {padding:85px 6%;gap:7%}:is(.ruelle-branding, .rb-services) .rb-contact {padding:70px 7%;gap:8%}}
@media(max-width:640px){:is(.ruelle-branding, .rb-services) {font-size:16px}:is(.ruelle-branding, .rb-services) .rb-hero {grid-template-columns:repeat(6,minmax(0,1fr));padding:44px 24px 65px;gap:28px 14px}:is(.ruelle-branding, .rb-services) .rb-title {grid-column:1/-1;grid-row:1;font-size:clamp(48px,11.7vw,72px)}:is(.ruelle-branding, .rb-services) .rb-hero-main {grid-column:3/7;grid-row:2;margin:0 4px 0 0;aspect-ratio:.86}:is(.ruelle-branding, .rb-services) .rb-hero-small {grid-column:1/4;grid-row:2;margin-top:90px;z-index:1;aspect-ratio:.9;border:6px solid var(--rb-cream)}:is(.ruelle-branding, .rb-services) .rb-intro {grid-column:1/-1;grid-row:3;padding:9px 0 0}:is(.ruelle-branding, .rb-services) .rb-lead {font-size:20px}:is(.ruelle-branding, .rb-services) h2 {font-size:44px}.rb-services.rb-services {grid-template-columns:1fr}:is(.ruelle-branding, .rb-services) .rb-service-copy {padding:55px 25px 48px}:is(.ruelle-branding, .rb-services) .rb-service-art {min-height:0;height:390px}:is(.ruelle-branding, .rb-services) .rb-image-note {left:23px;bottom:24px;font-size:30px;padding:20px 24px}:is(.ruelle-branding, .rb-services) .rb-process {padding:65px 25px;grid-template-columns:1fr;gap:42px}:is(.ruelle-branding, .rb-services) .rb-process-heading p {max-width:39ch}:is(.ruelle-branding, .rb-services) .rb-contact {grid-template-columns:1fr;padding:48px 25px 60px;gap:34px}:is(.ruelle-branding, .rb-services) .rb-portrait {width:48%;max-width:200px;margin-left:8%}:is(.ruelle-branding, .rb-services) .rb-contact-copy h2 {font-size:48px}:is(.ruelle-branding, .rb-services) .wp-block-button__link {white-space:normal}}
@media(prefers-reduced-motion:reduce){:is(.ruelle-branding, .rb-services) * {transition:none!important;scroll-behavior:auto!important}}
/* Keep all editable blocks reachable in the editor, including details children. */
.editor-styles-wrapper :is(.ruelle-branding, .rb-services) .block-editor-block-list__block {min-width:0}
/* Neutralize Astra's generic group spacing only on this authored page. */
body.page-id-220 #primary {margin:0!important}
.entry-content > .wp-block-group.ruelle-branding,.editor-styles-wrapper .wp-block-group:is(.ruelle-branding, .rb-services) {padding:0}
:is(.ruelle-branding, .rb-services) .wp-block-group {padding-block:0;padding-inline:0}
:is(.ruelle-branding, .rb-services) .rb-hero {padding:76px 5% 120px}
:is(.ruelle-branding, .rb-services) .rb-intro {padding:8px 16px 0 0}
:is(.ruelle-branding, .rb-services) .rb-service-copy {padding:85px clamp(28px,6vw,96px) 80px}
:is(.ruelle-branding, .rb-services) .rb-process {padding:125px 8%}
:is(.ruelle-branding, .rb-services) .rb-contact {padding:84px 12% 84px 16%}
@media(max-width:1024px){:is(.ruelle-branding, .rb-services) .rb-hero{padding:64px 5% 85px}:is(.ruelle-branding, .rb-services) .rb-service-copy{padding:60px 30px}:is(.ruelle-branding, .rb-services) .rb-process{padding:85px 6%}:is(.ruelle-branding, .rb-services) .rb-contact{padding:70px 7%}}
@media(max-width:640px){:is(.ruelle-branding, .rb-services) .rb-hero{padding:44px 24px 65px}:is(.ruelle-branding, .rb-services) .rb-intro{padding:9px 0 0}:is(.ruelle-branding, .rb-services) .rb-service-copy{padding:55px 25px 48px}:is(.ruelle-branding, .rb-services) .rb-process{padding:65px 25px}:is(.ruelle-branding, .rb-services) .rb-contact{padding:48px 25px 60px}}
:is(.ruelle-branding, .rb-services) .rb-intro > p + p {margin-top:18px}
@media (min-width:641px) and (max-width:1024px){:is(.ruelle-branding, .rb-services) .rb-image-note{left:18px;max-width:calc(100% - 36px);font-size:30px}}
/* A deeper brown for small text against amber meets WCAG normal-text contrast. */
:is(.ruelle-branding, .rb-services) .rb-contact-copy > p {color:#573a3a}

/* A copied section no longer needs the full-page wrapper to reset theme group spacing. */
.wp-block-group.rb-services {padding:0;margin:0}

/* Portable top-level branding sections: use the content viewport, excluding
   the scrollbar, without changing the width of neighbouring page blocks. */
@supports (width: 100cqw) {
  #content:has(.entry-content > :is(.ruelle-branding, .rb-services)) {
    container-type: inline-size;
  }
  #content .entry-content > :is(.ruelle-branding, .rb-services) {
    box-sizing: border-box;
    width: 100cqw;
    max-width: none;
    margin-inline: calc((100% - 100cqw) / 2);
  }
}
