/* R3 STUDIO 41 — shared, compact layout. Existing business logic is unchanged. */
body.r3-studio {
  --studio-panel: rgba(10,25,37,.94); --studio-field: #102333;
  --studio-ink: #f2f6fa; --studio-muted: #b2c4d2; --studio-line: #304758;
  --studio-accent: #74caff; --studio-blue: #0874ce; --studio-gold: #dfbd72;
  --studio-danger: #ffb4bb; --studio-success: #91dfbb;
  color: var(--studio-ink); font-size: 15px; line-height: 1.55;
}
body.r3-studio.light-mode {
  --studio-panel: rgba(255,255,255,.95); --studio-field: #f3f6f9;
  --studio-ink: #172e40; --studio-muted: #506575; --studio-line: #cad5de;
  --studio-accent: #075eaa; --studio-blue: #0968b7; --studio-gold: #806020;
  --studio-danger: #a7253e; --studio-success: #19613f;
}
body.r3-studio *, body.r3-studio *::before, body.r3-studio *::after { box-sizing: border-box; }
body.r3-studio :is(h1,h2,h3,p) { overflow-wrap: break-word; }
body.r3-studio :is(main,.site-header-inner,.r3-footer-inner) { width: 100%; max-width: 1320px !important; margin-inline: auto; }
body.r3-studio #main-content { display: grid; align-content: start; gap: 32px; padding: 24px 28px 48px !important; }
body.r3-studio #main-content > * { min-width: 0; }
body.r3-studio #main-content > section + section { margin-top: 0 !important; }
body.r3-studio #main-content :is(.space-y-8,.space-y-6) > :not([hidden]) ~ :not([hidden]) { margin-top: 20px; }
body.r3-studio #main-content :is(h2,h3,h4,.font-tech) { font-family: Inter,Arial,sans-serif !important; }
body.r3-studio #main-content h2 { font-size: 23px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -.035em; color: var(--studio-ink) !important; }
body.r3-studio #main-content h3 { font-size: 18px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--studio-ink) !important; }
body.r3-studio #main-content :is(.text-xs,.text-\[11px\],.text-\[10px\],.text-\[9px\]) { font-size: 13px !important; line-height: 1.55 !important; }
body.r3-studio #main-content .text-sm { font-size: 15px !important; line-height: 1.55 !important; }
body.r3-studio #main-content :is([class*="text-slate-"],[class*="text-gray-"]) { color: var(--studio-muted) !important; }
body.r3-studio #main-content :is(.font-bold,.font-semibold,.font-black,label) { color: var(--studio-ink); }
body.r3-studio #main-content .glass-panel { border: 1px solid var(--studio-line) !important; border-radius: 18px !important; background: var(--studio-panel) !important; box-shadow: 0 8px 28px #00000010 !important; padding: 24px !important; }
body.r3-studio #main-content .glass-panel::before { pointer-events: none; }
body.r3-studio #main-content :is(input,select,textarea):not([type=radio]):not([type=checkbox]):not([type=range]):not([type=file]) {
  color: var(--studio-ink) !important; background: var(--studio-field) !important;
  border: 1px solid var(--studio-line) !important; border-radius: 9px !important;
  min-height: 44px; font: 400 15px/1.45 Inter,Arial,sans-serif !important; padding: 11px 13px !important; width: 100%; min-width: 0;
}
body.r3-studio select { color-scheme: dark; }
body.r3-studio.light-mode select { color-scheme: light; }
body.r3-studio input::placeholder, body.r3-studio textarea::placeholder { color: var(--studio-muted) !important; opacity: .85; }
body.r3-studio #main-content label:not(.relative) { font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
body.r3-studio :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--studio-accent) !important; outline-offset: 3px; }
body.r3-studio :is(section,h2,[id^=quote-],#project-form,#real-work) { scroll-margin-top: 96px; }
body.r3-studio #main-content :is(button,.r3-button) { min-height: 44px; font-size: 14px !important; line-height: 1.35 !important; letter-spacing: 0 !important; border-radius: 10px !important; }
body.r3-studio #main-content :is(.bg-teal-600,.r3-button-primary,.r3-ticket-action-primary) { background: var(--studio-blue) !important; color: #fff !important; border-color: transparent !important; }
body.r3-studio #main-content :is(.bg-teal-600,.r3-button-primary,.r3-ticket-action-primary):hover { filter: brightness(1.12); }
body.r3-studio #main-content .r3-button { padding: 12px 18px !important; box-shadow: none !important; transform: none !important; }
body.r3-studio #main-content .r3-button-ghost { background: transparent !important; border: 1px solid var(--studio-line) !important; color: var(--studio-ink) !important; }
body.r3-studio :is(.r3-eyebrow,.r3-overline) { font: 700 11px/1.5 Inter,Arial,sans-serif !important; letter-spacing: .13em !important; color: var(--studio-gold) !important; text-transform: uppercase; }
body.r3-studio .r3-eyebrow { margin: 0 0 12px !important; }
body.r3-studio .r3-eyebrow > span { width: 24px; }
body.r3-studio .site-header { position: relative !important; top: auto !important; border-radius: 0 !important; background: var(--studio-panel) !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; border-bottom: 1px solid var(--studio-line) !important; }
body.r3-studio .site-header-inner { display: flex !important; align-items: center; gap: 20px; min-height: 72px; padding: 12px 28px !important; }
body.r3-studio .site-brand-area { flex: 0 0 auto; }
body.r3-studio .brand-link { gap: 8px !important; }
body.r3-studio .brand-logo-symbol { width: 38px !important; height: 38px !important; object-fit: contain; }
body.r3-studio .brand-logo-wordmark { width: 105px !important; height: 28px !important; object-fit: contain; }
body.r3-studio .site-nav { display: flex !important; flex: 1; justify-content: flex-end; gap: 4px !important; border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; min-width: 0; }
body.r3-studio .site-nav-link { border: 0 !important; border-radius: 8px !important; padding: 11px 12px !important; min-height: 44px; font: 600 14px/1.4 Inter,Arial,sans-serif !important; color: var(--studio-muted) !important; background: none !important; white-space: nowrap; box-shadow: none !important; }
body.r3-studio .site-nav-link .ui-icon { display: none; }
body.r3-studio .site-nav-link:is(:hover,.is-active) { color: var(--studio-accent) !important; background: color-mix(in srgb,var(--studio-accent) 12%,transparent) !important; }
body.r3-studio .site-nav-link.hidden { display: none !important; }
body.r3-studio #theme-toggle { width: 44px !important; min-width: 44px !important; max-width: 44px !important; flex: 0 0 44px !important; height: 44px !important; padding: 11px !important; border-radius: 50% !important; background: var(--studio-field) !important; color: var(--studio-ink) !important; border: 1px solid var(--studio-line) !important; }
body.r3-studio .theme-toggle span { display: none; }
body.r3-studio .r3-skip-link { position: absolute; top: -100px; left: 20px; z-index: 100; padding: 12px; background: var(--studio-blue); color: white; }
body.r3-studio .r3-skip-link:focus { top: 8px; }
body.r3-studio.r3-luxury-home .r3-hero {
  display: grid !important; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr) !important;
  align-items: center; gap: 42px; min-height: 0 !important; padding: 32px !important;
  border: 1px solid var(--studio-line); border-radius: 20px !important;
}
body.r3-studio.r3-luxury-home .r3-hero-copy { min-width: 0; min-height: 0 !important; max-width: none !important; padding: 0 !important; }
body.r3-studio.r3-luxury-home .r3-hero h1 { font-size: clamp(40px,4.4vw,62px) !important; line-height: 1.04 !important; letter-spacing: -.045em !important; margin: 0 !important; }
body.r3-studio.r3-luxury-home .r3-hero-lead { font-size: 16px !important; line-height: 1.6 !important; max-width: 50ch; margin: 18px 0 0 !important; color: #cfdae3 !important; }
body.r3-studio.r3-luxury-home .r3-hero-actions { margin-top: 22px !important; gap: 10px; }
body.r3-studio.r3-luxury-home .r3-hero .r3-button-ghost { color: #edf5ff !important; border-color: #647989 !important; }
body.r3-studio .r3-start-panel { position: relative; z-index: 1; padding-left: 30px; border-left: 1px solid #ffffff30; }
body.r3-studio .r3-start-panel > p { margin-bottom: 8px; color: #dfbd72 !important; }
body.r3-studio .r3-start-panel > a { display: grid; grid-template-columns: 32px 1fr 16px; gap: 12px; align-items: center; padding: 18px 0; color: #f2f6fa; border-bottom: 1px solid #ffffff22; }
body.r3-studio .r3-start-panel > a:last-child { border-bottom: 0; padding-bottom: 0; }
body.r3-studio .r3-start-panel > a:hover strong { color: #74caff; }
body.r3-studio .r3-start-panel strong { display: block; font-size: 16px; line-height: 1.35; }
body.r3-studio .r3-start-panel small { display: block; margin-top: 4px; color: #b9cbd8; font-size: 13px; line-height: 1.45; }
body.r3-studio .r3-start-icon { color: #dfbd72; font: 600 13px/1 monospace; }
body.r3-studio #main-content .r3-section-heading { margin-bottom: 16px !important; gap: 20px; align-items: end; }
body.r3-studio .r3-section-heading h2 { margin: 0 !important; font-size: 26px !important; }
body.r3-studio .r3-section-heading > p { font-size: 14px !important; max-width: 44ch; color: var(--studio-muted) !important; }
body.r3-studio.r3-luxury-home .r3-service-grid { gap: 12px !important; }
body.r3-studio.r3-luxury-home .home-service-card,
body.r3-studio.r3-luxury-home .home-service-card:nth-child(2n) {
  min-height: 80px !important; padding: 14px 18px !important; border-radius: 12px !important;
  grid-template-columns: 30px 1fr; gap: 2px 12px; background: var(--studio-panel) !important; border: 1px solid var(--studio-line) !important; transform: none !important;
}
body.r3-studio.r3-luxury-home .home-service-card .ui-icon { width: 26px !important; height: 26px !important; color: var(--studio-accent) !important; }
body.r3-studio.r3-luxury-home .home-service-card span { font-size: 15px !important; color: var(--studio-ink) !important; }
body.r3-studio.r3-luxury-home .home-service-card small { font-size: 13px !important; color: var(--studio-muted) !important; }
body.r3-studio.r3-luxury-home .home-service-card:hover { border-color: var(--studio-accent) !important; }
body.r3-studio #main-content .r3-quote-intro { display: grid !important; grid-template-columns: 1fr auto; align-items: end; gap: 4px 24px; padding: 10px 0 0 !important; margin-bottom: 0 !important; border-bottom: 0; }
body.r3-studio .r3-quote-intro > .r3-eyebrow { grid-column: 1/-1; margin-bottom: 4px !important; }
body.r3-studio .r3-quote-intro h2 { font-size: 28px !important; margin: 0 0 6px !important; }
body.r3-studio .r3-quote-intro p:not(.r3-eyebrow) { font-size: 14px !important; color: var(--studio-muted) !important; max-width: none; }
body.r3-studio .r3-quote-nav { display: flex; flex-wrap: wrap; gap: 6px; }
body.r3-studio .r3-quote-nav a { border: 1px solid var(--studio-line); background: var(--studio-panel); color: var(--studio-ink); font-size: 13px; padding: 9px 12px; border-radius: 7px; }
body.r3-studio.r3-luxury-home #page-client { grid-template-columns: minmax(0,2fr) minmax(290px,1fr); gap: 24px !important; margin-top: -12px !important; align-items: start; }
body.r3-studio #page-client > .r3-quote-configuration { grid-column: 1; }
body.r3-studio #page-client > .r3-quote-summary { grid-column: 2; position: sticky; top: 24px; min-width: 0; }
body.r3-studio #page-client > .r3-quote-contact { grid-column: 1/-1; }
body.r3-studio.r3-luxury-home .r3-config-panel h2 { font-size: 18px !important; letter-spacing: -.02em; }
body.r3-studio.r3-luxury-home .r3-config-panel label.relative {
  min-height: 0 !important; padding: 16px !important; border-radius: 10px !important;
  background: var(--studio-field) !important; border: 1px solid var(--studio-line) !important;
}
body.r3-studio.r3-luxury-home .r3-config-panel label.relative::after { content: none !important; }
body.r3-studio.r3-luxury-home .r3-config-panel label.relative:has(input:checked) { border-color: var(--studio-accent) !important; box-shadow: inset 0 0 0 1px var(--studio-accent) !important; background: color-mix(in srgb,var(--studio-accent) 9%,var(--studio-field)) !important; }
body.r3-studio.r3-luxury-home .r3-config-panel label.relative > div { padding-right: 25px !important; }
body.r3-studio.r3-luxury-home .r3-config-panel label.relative > div > span:first-child { font-size: 16px !important; line-height: 1.35 !important; color: var(--studio-ink) !important; font-family: Inter,Arial,sans-serif !important; }
body.r3-studio.r3-luxury-home .r3-config-panel input[type=radio] { width: 18px; height: 18px; top: 17px; right: 15px; accent-color: var(--studio-blue); }
body.r3-studio.r3-luxury-home .r3-pack-options { grid-template-columns: 1fr !important; gap: 10px !important; }
body.r3-studio.r3-luxury-home .r3-contact-fields { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px !important; }
body.r3-studio.r3-luxury-home .r3-contact-fields > .md\:col-span-2 { grid-column: 1/-1; }
body.r3-studio.r3-luxury-home .r3-ticket { min-height: 0 !important; padding: 24px !important; position: static !important; border-top: 3px solid var(--studio-accent) !important; }
body.r3-studio.r3-luxury-home .r3-ticket h2 { font-size: 22px !important; }
body.r3-studio .r3-ticket .flex:has(> div #client-total-price) { flex-wrap: wrap; gap: 12px; }
body.r3-studio #client-total-price { font-size: 32px !important; line-height: 1.2 !important; white-space: nowrap; }
body.r3-studio #ticket-items > div { gap: 12px; }
body.r3-studio.r3-luxury-home .r3-ticket :is(.text-4xl,.text-5xl) { font-size: 34px !important; line-height: 1.2 !important; }
body.r3-studio.r3-luxury-home .r3-ticket-action { padding: 12px !important; text-transform: none !important; }
body.r3-studio .r3-ticket-action-secondary { color: var(--studio-ink) !important; background: var(--studio-field) !important; border: 1px solid var(--studio-line) !important; }
body.r3-studio #main-content .r3-page-hero { min-height: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between; gap: 28px; padding: 28px 32px !important; border: 1px solid var(--studio-line); border-radius: 18px !important; background: var(--studio-panel) !important; }
body.r3-studio #main-content .r3-page-hero::before, body.r3-studio #main-content .r3-page-hero::after { content: none !important; }
body.r3-studio #main-content .r3-page-hero > div { min-width: 0; }
body.r3-studio #main-content .r3-page-hero h1 { font: 400 clamp(32px,3.4vw,46px)/1.12 Georgia,serif !important; letter-spacing: -.035em !important; color: var(--studio-ink) !important; max-width: none !important; margin: 0 0 12px !important; }
body.r3-studio #main-content .r3-page-hero h1 em { color: var(--studio-accent) !important; }
body.r3-studio #main-content .r3-page-hero p:not(.r3-eyebrow) { color: var(--studio-muted) !important; font-size: 15px !important; line-height: 1.6 !important; max-width: 68ch !important; margin-top: 0 !important; }
body.r3-studio #main-content .r3-page-hero > .r3-button { flex: 0 0 auto; }
body.r3-studio .r3-contact-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(270px,1fr); grid-template-areas: "channels channels" "form support" "template support"; gap: 24px !important; align-items: start; }
body.r3-studio .r3-contact-primary { display: contents; }
body.r3-studio .r3-contact-channels { grid-area: channels; }
body.r3-studio .r3-project-form { grid-area: form; margin: 0 !important; }
body.r3-studio .r3-contact-support { grid-area: support; }
body.r3-studio .r3-contact-template { grid-area: template; margin: 0 !important; }
body.r3-studio .r3-contact-template summary { cursor: pointer; font-weight: 600; font-size: 15px; }
body.r3-studio .r3-contact-template[open] summary { margin-bottom: 18px; }
body.r3-studio .r3-contact-channels > .grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
body.r3-studio .r3-contact-channels .grid > a { padding: 16px !important; border-radius: 10px !important; min-width: 0; overflow-wrap: anywhere; }
body.r3-studio #kit-cards-container { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: start; }
body.r3-studio #main-content .studio-kit { padding: 0 !important; overflow: hidden; }
body.r3-studio .studio-kit-image { height: 180px; padding: 14px; background: #e8edf0; }
body.r3-studio .studio-kit-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
body.r3-studio .studio-kit-content { padding: 20px; }
body.r3-studio .studio-kit-content > p { color: var(--studio-muted); font-size: 14px; margin: 10px 0; }
body.r3-studio .studio-kit-content > .r3-overline { font-size: 10px !important; margin-top: 0; }
body.r3-studio .studio-kit h3 { margin: 0; }
body.r3-studio .studio-kit details { border-top: 1px solid var(--studio-line); margin: 18px 0; padding-top: 12px; font-size: 14px; }
body.r3-studio .studio-kit summary { cursor: pointer; font-weight: 600; padding: 4px 0; }
body.r3-studio .studio-kit ul { list-style: disc; padding-left: 18px; margin: 12px 0; color: var(--studio-muted); }
body.r3-studio .studio-kit .r3-button { display: flex; width: 100%; justify-content: center; }
body.r3-studio #price-matrix { border-radius: 10px; border: 1px solid var(--studio-line); }
body.r3-studio #main-content .gallery-card { padding: 0 !important; }
body.r3-studio .gallery-card > div:first-child > .relative { height: 170px !important; }
body.r3-studio .gallery-card-placeholder-icon { margin-bottom: 8px !important; }
body.r3-studio .gallery-card-placeholder-icon .ui-icon { width: 36px; height: 36px; }
body.r3-studio .gallery-card > div:last-child a { border: 1px solid var(--studio-line); background: var(--studio-field) !important; color: var(--studio-accent) !important; }
body.r3-studio #gallery-services-container, body.r3-studio #gallery-niches-container { gap: 18px !important; }
body.r3-studio table { font-size: 14px !important; }
body.r3-studio :is(th,td) { padding: 13px 16px !important; white-space: nowrap; }
body.r3-studio #main-content .r3-viewer-hero { display: block !important; }
body.r3-studio #main-content .r3-viewer-hero h1 { font-size: 34px !important; }
body.r3-studio #main-content .r3-viewer-hero-actions { flex-shrink: 0; }
body.r3-studio .r3-viewer-workspace { grid-template-columns: 270px minmax(0,1fr); gap: 20px; align-items: start; }
body.r3-studio .r3-viewer-workspace > * { grid-column: auto !important; min-width: 0; }
body.r3-studio .r3-viewer-stage-shell { padding: 0 !important; position: sticky; top: 20px; }
body.r3-studio :is(.r3-viewer-backplate,.r3-viewer-orbit,.r3-viewer-corners) { display: none !important; }
body.r3-studio #main-content #viewer-drop-zone { min-height: 560px !important; border-radius: 16px !important; }
body.r3-studio #viewer-empty p { color: #dbe8f2 !important; }
body.r3-studio #viewer-status { color: #dbe8f2 !important; }
body.r3-studio .r3-viewer-empty-mark { width: 60px; height: 60px; font-size: 30px; }
body.r3-studio .r3-auth-hero, body.r3-studio .r3-client-hero { min-height: 0 !important; padding: 28px !important; }
body.r3-studio .r3-auth-hero h1, body.r3-studio .r3-client-hero h1 { font-size: 40px !important; line-height: 1.15 !important; }
body.r3-studio .r3-auth-main { gap: 24px !important; padding-block: 28px !important; }
body.r3-studio .r3-auth-card { padding: 28px !important; }
body.r3-studio .r3-site-footer { margin-top: 0 !important; padding: 24px 0 !important; background: var(--studio-panel) !important; border-top: 1px solid var(--studio-line) !important; }
body.r3-studio .r3-footer-inner { padding-inline: 28px !important; gap: 28px; }
body.r3-studio .r3-footer-brand-block p, body.r3-studio .r3-footer-legal { color: var(--studio-muted) !important; font-size: 12px !important; }
body.r3-studio .r3-footer-nav a { font-size: 14px !important; color: var(--studio-ink) !important; }
body.r3-studio .r3-tilt-card { transform: none !important; }
body.r3-studio #main-content .r3-config-panel > div + div { margin-top: 20px !important; }
body.r3-studio #main-content .r3-config-panel h2 { font-size: 18px !important; }
body.r3-studio #main-content .r3-config-panel label.relative span.font-bold { font-family: Inter,Arial,sans-serif !important; }
body.r3-studio #main-content .r3-config-panel label.relative span.font-mono { color: var(--studio-accent) !important; }
body.r3-studio #main-content .r3-config-panel input[type=radio] { appearance: auto !important; border: 0 !important; box-shadow: none !important; background: transparent !important; min-height: 0 !important; }
body.r3-studio #main-content input[type=range] { appearance: auto !important; padding: 0 !important; height: 24px !important; min-height: 24px !important; background: transparent !important; box-shadow: none !important; border: 0 !important; accent-color: var(--studio-blue); }
body.r3-studio #main-content input, body.r3-studio #main-content textarea { box-shadow: none !important; color-scheme: dark; }
body.r3-studio.light-mode #main-content input, body.r3-studio.light-mode #main-content textarea { color-scheme: light; }
body.r3-studio #main-content .r3-section-heading h2 { max-width: none !important; }
body.r3-studio #main-content [class*="text-teal-"] { color: var(--studio-accent) !important; }
body.r3-studio #main-content :is(button,a).bg-slate-900 { background: var(--studio-field) !important; color: var(--studio-ink) !important; border: 1px solid var(--studio-line) !important; }
body.r3-studio #main-content :is(button,a).bg-white { background: var(--studio-field) !important; color: var(--studio-ink) !important; }
body.r3-studio #main-content :is(th,thead) { background: var(--studio-field) !important; color: var(--studio-ink) !important; }
body.r3-studio #main-content section.bg-slate-900 { background: var(--studio-panel) !important; color: var(--studio-ink) !important; border: 1px solid var(--studio-line); }
body.r3-studio #main-content .r3-hero .r3-start-panel > p { color: #dfbd72 !important; }
body.r3-studio #main-content .r3-ticket > div > div:first-child > span { color: var(--studio-accent) !important; background: var(--studio-field) !important; border-color: var(--studio-line) !important; font: 600 11px/1.4 Inter,Arial,sans-serif !important; }
body.r3-studio #main-content #ticket-items > div { padding-block: 6px !important; }
body.r3-studio #main-content .r3-ticket details { border-top: 1px solid var(--studio-line); margin-top: 18px; padding-top: 12px; }
body.r3-studio #main-content .r3-ticket summary { cursor: pointer; font-size: 14px; font-weight: 600; }
body.r3-studio .r3-site-footer .brand-logo-symbol, body.r3-studio .r3-site-footer .brand-logo-wordmark { opacity: 1 !important; }
body.r3-studio.light-mode .r3-site-footer :is(.brand-logo-symbol,.brand-logo-wordmark) { filter: brightness(0) !important; }
@media (max-width: 1050px) {
  body.r3-studio .site-header-inner { flex-wrap: wrap; gap: 8px 20px; }
  body.r3-studio .site-brand-area { flex: 1; }
  body.r3-studio .site-nav { order: 3; flex-basis: 100%; justify-content: flex-start; overflow-x: auto; }
  body.r3-studio.r3-luxury-home .r3-hero { gap: 24px; padding: 28px !important; }
  body.r3-studio .r3-start-panel { padding-left: 22px; }
  body.r3-studio #main-content .r3-quote-intro { grid-template-columns: 1fr; gap: 12px; }
  body.r3-studio #kit-cards-container { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.r3-studio .r3-contact-channels > .grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.r3-studio.r3-luxury-home #page-client { grid-template-columns: minmax(0,1.4fr) minmax(280px,1fr); gap: 18px !important; }
  body.r3-studio.r3-luxury-home .r3-figure-config > .grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 760px) {
  body.r3-studio #main-content { padding: 18px 16px 32px !important; gap: 24px; }
  body.r3-studio .site-header-inner { padding: 10px 16px !important; }
  body.r3-studio .site-nav-link { padding: 10px !important; font-size: 13px !important; }
  body.r3-studio .site-nav { gap: 2px !important; }
  body.r3-studio.r3-luxury-home .r3-hero { grid-template-columns: 1fr !important; padding: 24px !important; gap: 24px; }
  body.r3-studio.r3-luxury-home .r3-hero h1 { font-size: 44px !important; }
  body.r3-studio .r3-start-panel { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 18px 0 0; border-left: 0; border-top: 1px solid #ffffff30; }
  body.r3-studio .r3-start-panel > p, body.r3-studio .r3-start-panel small, body.r3-studio .r3-start-panel > a > span:first-child, body.r3-studio .r3-start-panel > a > span:last-child { display: none; }
  body.r3-studio .r3-start-panel > a { display: block; padding: 0; border: 0; }
  body.r3-studio .r3-start-panel strong { font-size: 13px; line-height: 1.4; }
  body.r3-studio .brand-wordmark-block { display: block !important; }
  body.r3-studio .r3-section-heading { display: block; }
  body.r3-studio .r3-section-heading > p { margin-top: 10px; }
  body.r3-studio.r3-luxury-home .r3-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  body.r3-studio.r3-luxury-home .home-service-card { grid-template-columns: 24px 1fr; padding: 12px !important; column-gap: 8px; }
  body.r3-studio.r3-luxury-home .home-service-card small { grid-column: 1/-1; margin-top: 4px; }
  body.r3-studio.r3-luxury-home #page-client { grid-template-columns: 1fr; gap: 20px !important; }
  body.r3-studio #page-client > :is(.r3-quote-configuration,.r3-quote-summary,.r3-quote-contact) { grid-column: 1; position: static; }
  body.r3-studio.r3-luxury-home .r3-contact-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.r3-studio #main-content .r3-page-hero { display: block !important; padding: 24px !important; }
  body.r3-studio #main-content .r3-page-hero > .r3-button { display: inline-flex; margin-top: 18px; }
  body.r3-studio .r3-contact-layout { grid-template-columns: 1fr; grid-template-areas: "channels" "form" "support" "template"; }
  body.r3-studio #main-content .glass-panel { padding: 20px !important; }
  body.r3-studio #main-content .studio-kit { padding: 0 !important; }
  body.r3-studio .r3-viewer-workspace { grid-template-columns: 1fr; }
  body.r3-studio .r3-viewer-stage-shell { grid-row: 1; position: static; }
  body.r3-studio #main-content #viewer-drop-zone { min-height: 400px !important; }
  body.r3-studio .r3-viewer-workspace > aside { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  body.r3-studio .r3-viewer-workspace > aside > * { margin-top: 0 !important; }
  body.r3-studio #main-content .r3-viewer-hero h1 { font-size: 30px !important; }
  body.r3-studio .r3-footer-inner { padding-inline: 16px !important; }
}
@media (max-width: 480px) {
  body.r3-studio #kit-cards-container { grid-template-columns: 1fr; }
  body.r3-studio.r3-luxury-home .r3-contact-fields { grid-template-columns: 1fr; }
  body.r3-studio .r3-contact-channels > .grid { grid-template-columns: 1fr; }
  body.r3-studio .r3-viewer-workspace > aside { grid-template-columns: 1fr; }
  body.r3-studio .r3-hero-actions { flex-direction: column; align-items: stretch; }
  body.r3-studio .r3-hero-actions a { justify-content: center; }
  body.r3-studio .r3-quote-nav { gap: 5px; }
  body.r3-studio .r3-quote-nav a { padding-inline: 9px; }
  body.r3-studio.r3-luxury-home .home-service-card span { font-size: 14px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.r3-studio *, body.r3-studio *::before, body.r3-studio *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* The stage is a workspace, not a tilted decorative card. */
body.r3-studio #main-content .r3-viewer-stage-shell { perspective: none !important; transform: none !important; }
body.r3-studio #main-content #viewer-drop-zone { transform: none !important; clip-path: none !important; box-shadow: none !important; width: 100%; }
body.r3-studio #main-content .r3-viewer-hero label { color: white !important; padding: 12px 16px !important; border-radius: 10px !important; min-height: 44px; font-size: 14px !important; }
body.r3-studio #main-content .r3-viewer-hero-actions button { background: var(--studio-field) !important; color: var(--studio-ink) !important; border: 1px solid var(--studio-line) !important; box-shadow: none !important; }
body.r3-studio #main-content .r3-viewer-workspace h2 { font-size: 18px !important; }
body.r3-studio #main-content .r3-viewer-workspace button { box-shadow: none !important; }
body.r3-studio #main-content .r3-hero .r3-button-ghost { color: #edf5ff !important; border-color: #647989 !important; }
body.r3-studio #main-content .r3-page-hero .r3-eyebrow { color: var(--studio-gold) !important; }
body.r3-studio #main-content .r3-page-hero { box-shadow: 0 8px 24px #00000010 !important; }
body.r3-studio #main-content :is(select,button), body.r3-studio #main-content .r3-contact-channels a { box-shadow: none !important; }
body.r3-studio #main-content .r3-contact-channels a { background: var(--studio-field) !important; border: 1px solid var(--studio-line) !important; }
body.r3-studio #main-content .r3-contact-channels a p { font-weight: 400 !important; }
body.r3-studio #main-content .r3-viewer-hero-actions { margin-top: 0 !important; }
body.r3-studio #main-content .r3-viewer-hero > div > div > p:first-child { font-size: 11px !important; line-height: 1.5 !important; letter-spacing: .1em !important; margin-bottom: 8px !important; }
body.r3-studio #main-content #ticket-items { margin-top: 16px !important; }
body.r3-studio #main-content #ticket-items > div { margin-top: 6px !important; }
body.r3-studio .brand-logo-wordmark { display: block !important; }
/* Account pages use the same surfaces and type hierarchy as the public pages.
   Reset inherited grid alignment: the former flex-end pushed the entire hero
   into the right half; fixed white/gold ink also survived the light theme. */
body.r3-studio #main-content :is(.r3-auth-hero,.r3-client-hero) {
  display: grid !important; grid-template-columns: minmax(0,1fr) minmax(240px,.8fr);
  align-items: center; justify-content: stretch; gap: 12px 36px;
  background: var(--studio-panel) !important; color: var(--studio-ink) !important;
  border: 1px solid var(--studio-line) !important; border-radius: 18px !important;
  box-shadow: 0 8px 28px #00000010 !important; padding: 28px !important;
}
body.r3-studio #main-content :is(.r3-auth-hero,.r3-client-hero)::after { content: none !important; }
body.r3-studio #main-content .r3-auth-hero > .r3-eyebrow { grid-column: 1/-1; margin: 0 !important; }
body.r3-studio #main-content :is(.r3-auth-hero,.r3-client-hero) h1 {
  max-width: none !important; margin: 0 !important; font-size: clamp(30px,3.2vw,40px) !important;
  line-height: 1.15 !important; color: var(--studio-ink) !important; letter-spacing: -.035em;
}
body.r3-studio #main-content :is(.r3-auth-hero,.r3-client-hero) h1 em { color: var(--studio-gold) !important; }
body.r3-studio #main-content :is(.r3-auth-hero,.r3-client-hero) p:not(.r3-eyebrow) {
  color: var(--studio-muted) !important; font-size: 16px !important; line-height: 1.6 !important;
  max-width: 52ch; margin: 0 !important;
}
body.r3-studio #main-content :is(.r3-auth-hero,.r3-client-hero) .r3-eyebrow { color: var(--studio-gold) !important; }
body.r3-studio #main-content.r3-auth-main > .grid { width: 100%; max-width: none; gap: 24px; }
body.r3-studio #main-content .r3-auth-card { min-height: 0; }
body.r3-studio #main-content .r3-auth-card > div:last-child {
  display: grid; gap: 18px !important; margin-top: 20px !important;
}
body.r3-studio #main-content .r3-auth-card > div:last-child > * { margin-top: 0 !important; }
body.r3-studio #main-content .r3-auth-card :is(input[type=email],input[type=password],input[type=text]) {
  min-height: 46px !important;
}
body.r3-studio #main-content .r3-auth-card > .border-b { border-color: var(--studio-line) !important; }
body.r3-studio #main-content .r3-auth-card :is(h1,h2),
body.r3-studio #main-content .r3-state-card h2,
body.r3-studio #main-content #library-denied h1 {
  color: var(--studio-ink) !important; font-size: 24px !important; line-height: 1.3 !important;
}
body.r3-studio.r3-page-auth-single #main-content {
  max-width: 620px !important; width: 100%; padding-block: 40px !important;
}
body.r3-studio #main-content :is(#client-not-logged,#library-denied) { width: 100%; max-width: 620px; }
body.r3-studio #main-content .r3-state-access { display: grid !important; grid-template-columns: 1fr; justify-content: stretch; gap: 12px; justify-items: start; }
body.r3-studio #main-content .r3-state-access > * { margin: 0 !important; }
body.r3-studio #main-content .r3-state-access a { margin-top: 6px !important; padding: 12px 18px; border-radius: 10px !important; box-shadow: none !important; }
body.r3-studio #main-content :is([id$="error"],#library-denied-message) { color: var(--studio-danger) !important; }
body.r3-studio #main-content :is([id$="success"],#customer-save-message,#pref-save-message) { color: var(--studio-success) !important; }
body.r3-studio #main-content :is(button,a).bg-rose-600 { color: #fff !important; background: #af2441 !important; }
body.r3-studio #main-content :is(button,input,select,textarea):disabled {
  opacity: .6; cursor: not-allowed; filter: none !important;
}
/* The 3D stage remains dark in both themes. It is not a light-theme panel. */
body.r3-studio #main-content .r3-viewer-stage-shell::before,
body.r3-studio #main-content #viewer-drop-zone::before { content: none !important; }
body.r3-studio #main-content #viewer-drop-zone { background: #081522 !important; border-color: #304758 !important; }
body.r3-studio #main-content #viewer-empty p,
body.r3-studio #main-content #viewer-status { color: #dbe8f2 !important; }
body.r3-studio #main-content #viewer-status { background: #102333 !important; max-width: calc(100% - 32px); }
body.r3-studio #main-content #viewer-drop-zone > div:first-child > span { color: #b2c4d2 !important; }
@media (max-width: 760px) {
  body.r3-studio #main-content :is(.r3-auth-hero,.r3-client-hero) { grid-template-columns: 1fr; gap: 14px; padding: 22px !important; }
  body.r3-studio.r3-page-auth-single #main-content { padding-block: 24px !important; }
  body.r3-studio #main-content .r3-contact-channels > .grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  body.r3-studio #main-content .r3-contact-channels a { padding: 12px !important; }
  body.r3-studio #main-content .r3-contact-channels a p { display: none; }
  body.r3-studio #main-content .r3-quote-intro > div { min-width: 0; }
  body.r3-studio #main-content .r3-quote-intro h2 { max-width: none; }
}

/* R3 STUDIO 42 — clearer public journey without simulated portfolio imagery. */
body.r3-studio .r3-proof-rail {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  margin: -6px 0 6px;
  border: 1px solid var(--studio-line);
  border-radius: 14px;
  background: color-mix(in srgb,var(--studio-panel) 92%,transparent);
  overflow: hidden;
}
body.r3-studio .r3-proof-rail > div {
  display: grid;
  gap: 4px;
  padding: 15px 18px;
  min-width: 0;
}
body.r3-studio .r3-proof-rail > div + div { border-left: 1px solid var(--studio-line); }
body.r3-studio .r3-proof-rail strong { color: var(--studio-ink); font-size: 13px; letter-spacing: -.01em; }
body.r3-studio .r3-proof-rail span { color: var(--studio-muted); font-size: 12px; line-height: 1.45; }

body.r3-studio .r3-process {
  display: grid;
  grid-template-columns: minmax(250px,.78fr) minmax(0,1.7fr);
  gap: 28px;
  align-items: end;
  margin: 8px 0;
  padding: 28px;
  border: 1px solid var(--studio-line);
  border-radius: 18px;
  background: var(--studio-panel);
}
body.r3-studio .r3-process .r3-section-heading { display: block; margin: 0 !important; }
body.r3-studio .r3-process .r3-section-heading > p { margin: 10px 0 0; max-width: 46ch; }
body.r3-studio .r3-process-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.r3-studio .r3-process-grid li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 16px;
  border-left: 2px solid var(--studio-line);
}
body.r3-studio .r3-process-grid li:first-child { border-left-color: var(--studio-accent); }
body.r3-studio .r3-process-grid li > span { color: var(--studio-accent); font: 700 10px/1.4 Inter,Arial,sans-serif; letter-spacing: .08em; }
body.r3-studio .r3-process-grid strong { display: block; color: var(--studio-ink); font-size: 15px; }
body.r3-studio .r3-process-grid p { margin: 4px 0 0; color: var(--studio-muted); font-size: 12px; line-height: 1.5; }

body.r3-studio .r3-gallery-hero-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; flex: 0 0 auto; }
body.r3-studio #main-content .r3-gallery-hero .r3-button-ghost { color: var(--studio-ink) !important; border-color: var(--studio-line) !important; }
body.r3-studio .r3-gallery-note {
  display: grid;
  grid-template-columns: minmax(190px,.42fr) minmax(0,1.58fr);
  gap: 24px;
  align-items: center;
  padding: 15px 18px;
  border-block: 1px solid var(--studio-line);
}
body.r3-studio .r3-gallery-note span { color: var(--studio-gold); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
body.r3-studio .r3-gallery-note p { margin: 0; color: var(--studio-muted); font-size: 13px; line-height: 1.55; }
body.r3-studio .r3-gallery-section {
  display: grid;
  grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr);
  gap: 36px;
  align-items: start;
  padding: 30px;
  border: 1px solid var(--studio-line);
  border-radius: 18px;
  background: var(--studio-panel);
}
body.r3-studio .r3-gallery-section > header { position: sticky; top: 24px; }
body.r3-studio .r3-gallery-section > header h2,
body.r3-studio .r3-gallery-real h2 { margin: 8px 0 10px; color: var(--studio-ink); font: 500 clamp(24px,2.5vw,34px)/1.12 Georgia,serif; letter-spacing: -.025em; }
body.r3-studio .r3-gallery-section > header > p:last-child,
body.r3-studio .r3-gallery-real > div > div > p { color: var(--studio-muted) !important; font-size: 13px !important; line-height: 1.6 !important; }
body.r3-studio .r3-gallery-section .r3-overline,
body.r3-studio .r3-gallery-real .r3-overline { color: var(--studio-accent); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
body.r3-studio #gallery-services-container,
body.r3-studio #gallery-niches-container { display: grid; gap: 0 !important; grid-template-columns: 1fr !important; border-top: 1px solid var(--studio-line); }
body.r3-studio #main-content .gallery-card {
  display: grid !important;
  grid-template-columns: 118px minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 96px;
  padding: 16px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--studio-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.r3-studio .gallery-card-index { color: var(--studio-accent); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; overflow-wrap: anywhere; }
body.r3-studio .gallery-card-copy h3 { margin: 0; color: var(--studio-ink); font-size: 16px; line-height: 1.35; }
body.r3-studio .gallery-card-copy p { margin: 5px 0 0; color: var(--studio-muted); font-size: 12px; line-height: 1.5; }
body.r3-studio .gallery-card > a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 150px;
  padding: 10px 12px;
  border: 1px solid var(--studio-line);
  border-radius: 8px;
  color: var(--studio-ink);
  background: var(--studio-field);
  font-size: 12px;
  font-weight: 700;
}
body.r3-studio .gallery-card > a:hover { border-color: var(--studio-accent); color: var(--studio-accent); }
body.r3-studio .r3-gallery-loading { grid-column: 1/-1; margin: 20px 0; color: var(--studio-muted); font-size: 13px; }
body.r3-studio .r3-gallery-real {
  padding: 30px;
  border: 1px solid var(--studio-line);
  border-radius: 18px;
  background: linear-gradient(135deg,color-mix(in srgb,var(--studio-panel) 96%,var(--studio-accent)),var(--studio-panel));
}
body.r3-studio .r3-gallery-real #instagram-embed-grid { align-items: stretch; }
body.r3-studio .r3-gallery-real .instagram-embed-card { min-height: 240px; border-radius: 12px; background: var(--studio-field); border: 1px solid var(--studio-line); overflow: hidden; }
body.r3-studio .r3-instagram-note { margin: 18px 0 0; color: var(--studio-muted); font-size: 11px; line-height: 1.5; }

@media (max-width: 900px) {
  body.r3-studio .r3-process,
  body.r3-studio .r3-gallery-section { grid-template-columns: 1fr; gap: 22px; }
  body.r3-studio .r3-gallery-section > header { position: static; }
  body.r3-studio .r3-gallery-hero-actions { justify-content: flex-start; margin-top: 18px; }
}
@media (max-width: 760px) {
  body.r3-studio .r3-proof-rail { grid-template-columns: 1fr; }
  body.r3-studio .r3-proof-rail > div { padding: 13px 15px; }
  body.r3-studio .r3-proof-rail > div + div { border-left: 0; border-top: 1px solid var(--studio-line); }
  body.r3-studio .r3-process { padding: 22px; }
  body.r3-studio .r3-process-grid { grid-template-columns: 1fr; gap: 0; }
  body.r3-studio .r3-process-grid li { border-left: 2px solid var(--studio-line); border-top: 1px solid var(--studio-line); }
  body.r3-studio .r3-gallery-note { grid-template-columns: 1fr; gap: 6px; padding-inline: 4px; }
  body.r3-studio .r3-gallery-section,
  body.r3-studio .r3-gallery-real { padding: 22px; }
  body.r3-studio #main-content .gallery-card { grid-template-columns: 1fr auto; gap: 10px 16px; }
  body.r3-studio .gallery-card-index { grid-column: 1/-1; }
  body.r3-studio .gallery-card > a { min-width: 44px; width: 44px; height: 44px; padding: 0; font-size: 0; }
  body.r3-studio .gallery-card > a span { font-size: 15px; }
  body.r3-studio .r3-gallery-hero-actions { display: grid; }
}

/* R3 STUDIO 43 — the home hero follows the selected theme.
   The dark composition remains unchanged; light mode becomes a ceramic surface
   instead of inheriting fixed night colours from the shared hero rules. */
body.r3-studio.r3-luxury-home.light-mode .r3-hero {
  color: var(--studio-ink) !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(116,202,255,.2), transparent 34%),
    linear-gradient(118deg, rgba(255,255,255,.98) 0%, rgba(246,249,251,.96) 54%, rgba(225,234,239,.93) 100%) !important;
  border-color: rgba(82,111,130,.3) !important;
  box-shadow: 0 20px 55px rgba(35,58,73,.14) !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-hero::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.28), transparent 52%),
    repeating-linear-gradient(135deg, rgba(21,73,105,.025) 0 1px, transparent 1px 18px) !important;
  opacity: 1 !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-hero::after {
  border-color: rgba(128,96,32,.22) !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-hero h1 {
  color: #173247 !important;
  text-shadow: none !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-hero h1 em,
body.r3-studio.r3-luxury-home.light-mode .r3-hero :is(.r3-eyebrow,.r3-overline,.r3-start-icon) {
  color: #8a6420 !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-hero-lead {
  color: #476173 !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-start-panel {
  border-left-color: rgba(72,101,120,.28) !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-start-panel > a {
  color: #173247 !important;
  border-bottom-color: rgba(72,101,120,.2) !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-start-panel small {
  color: #587080 !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-start-panel > a:hover strong {
  color: #075eaa !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-hero .r3-button-ghost {
  color: #173247 !important;
  -webkit-text-fill-color: #173247 !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  background: rgba(23,50,71,.07) !important;
  border-color: rgba(72,101,120,.42) !important;
}
body.r3-studio.r3-luxury-home.light-mode .r3-hero .r3-button-ghost:hover {
  color: #075eaa !important;
  -webkit-text-fill-color: #075eaa !important;
  border-color: #075eaa !important;
  background: rgba(255,255,255,.9) !important;
}

@media (max-width: 760px) {
  body.r3-studio.r3-luxury-home.light-mode .r3-start-panel {
    padding-left: 0;
    padding-top: 20px;
    border-left: 0 !important;
    border-top: 1px solid rgba(72,101,120,.28);
  }
}
