:root{--ink:#070304;--ink-2:#110608;--velvet:#6f0d22;--velvet-2:#9e1732;--rose:#d13857;--gold:#d8ad5f;--gold-2:#f2cf87;--champagne:#fff4dd;--cream:#fff8ec;--text:rgba(255,248,236,.9);--muted:rgba(255,248,236,.66);--dark-text:#16080b;--dark-muted:rgba(22,8,11,.68);--line:rgba(255,248,236,.13);--gold-line:rgba(242,207,135,.28);--shadow:0 48px 140px rgba(0,0,0,.58);--section-pad:clamp(46px,5.4vw,86px);--edge:clamp(16px,3.8vw,56px);--radius:22px;--radius-lg:34px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;overflow-x:hidden;background:var(--ink);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}body:before{content:"";position:fixed;inset:0;z-index:-4;background:radial-gradient(circle at 16% 8%,rgba(158,23,50,.48),transparent 31%),radial-gradient(circle at 88% 4%,rgba(216,173,95,.18),transparent 30%),linear-gradient(180deg,#090304 0%,#16070b 42%,#050303 100%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;max-width:100%;height:auto}.serif{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em;font-weight:400}.script{font-family:"Brush Script MT","Segoe Script",cursive;font-weight:400}.wide{max-width:1640px;margin-inline:auto}.narrow{max-width:980px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 26px;border:1px solid transparent;border-radius:999px;background:linear-gradient(135deg,var(--gold-2),var(--gold) 48%,#a8762e);color:#150608;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 18px 50px rgba(216,173,95,.16);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer}.button:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(216,173,95,.24)}.button.secondary{background:rgba(255,255,255,.04);border-color:var(--gold-line);color:var(--champagne);box-shadow:none}.button.dark{background:linear-gradient(135deg,#140608,#2a0a12);color:var(--gold-2);border-color:rgba(22,8,11,.2)}section{padding:var(--section-pad) var(--edge)}.section-dark{background:linear-gradient(180deg,rgba(7,3,4,.8),rgba(22,7,11,.94))}.section-velvet{background:radial-gradient(circle at 10% 20%,rgba(158,23,50,.34),transparent 32%),linear-gradient(135deg,#080304,#1d0710 52%,#090304)}.section-light{color:var(--dark-text);background:linear-gradient(90deg,rgba(255,248,236,.96),rgba(255,248,236,.84),rgba(255,248,236,.55))}.section-heading{max-width:820px;margin:0 auto clamp(24px,3vw,42px);text-align:center}.eyebrow{margin-bottom:9px;color:var(--gold-2);font-size:12px;letter-spacing:.34em;text-transform:uppercase}.section-light .eyebrow{color:#8f1228}.section-heading h2,.split-heading h2,.text-page h2{color:var(--cream);font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4.2vw,56px);line-height:1.02;letter-spacing:-.058em;font-weight:400}.section-light h2,.section-light h3{color:var(--dark-text)}.section-heading p,.split-heading p,.text-page p{margin-top:10px;color:var(--muted);font-size:16px;line-height:1.62}.section-light p{color:var(--dark-muted)}.page-hero{padding:clamp(58px,7vw,110px) var(--edge);text-align:center;background:radial-gradient(circle at 50% 0%,rgba(158,23,50,.42),transparent 42%),linear-gradient(180deg,#100507,#080304)}.page-script{display:block;color:var(--gold-2);font-size:clamp(38px,5vw,66px);line-height:.8;transform:rotate(-4deg)}.page-hero h1{color:var(--cream);font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,84px);line-height:.95;letter-spacing:-.07em;font-weight:400}.breadcrumb{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:18px;color:var(--muted);font-size:13px}.page-content{padding-top:clamp(42px,5vw,78px)}.text-page{max-width:980px;margin:auto}.text-page>*+*{margin-top:18px}.glass-card,.profile-card,.process-card,.hour-card,.gallery-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.028));backdrop-filter:blur(10px);box-shadow:0 26px 80px rgba(0,0,0,.18);border-radius:var(--radius);padding:clamp(18px,2vw,26px);opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease,border-color .25s ease}.glass-card.visible,.profile-card.visible,.reveal.visible,.service-item.visible{opacity:1;transform:translateY(0)}.profile-card{overflow:hidden;border-radius:var(--radius-lg);padding:16px}.profile-card:hover,.glass-card:hover{border-color:rgba(242,207,135,.35)}.profile-image{min-height:clamp(220px,22vw,320px);display:grid;place-items:center;border-radius:24px;background:radial-gradient(circle at 50% 10%,rgba(242,207,135,.28),transparent 34%),linear-gradient(145deg,#2a0710,#080304)}.profile-initial{display:grid;place-items:center;width:104px;height:104px;border-radius:999px;border:1px solid var(--gold-line);background:rgba(255,248,236,.055);color:var(--gold-2);font-family:Georgia,"Times New Roman",serif;font-size:38px}.rvs-notice{padding:14px 16px;border:1px solid var(--gold-line);border-radius:16px;margin-bottom:16px}.rvs-notice.success{background:rgba(50,160,90,.12)}.rvs-notice.error{background:rgba(209,56,87,.12)}.rvs-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rvs-form label{display:grid;gap:7px;color:rgba(255,248,236,.86);font-size:13px}.rvs-form .full{grid-column:1/-1}.rvs-form input,.rvs-form textarea,.rvs-form select{width:100%;min-height:48px;border:1px solid rgba(255,248,236,.14);border-radius:14px;background:rgba(255,255,255,.06);color:var(--cream);padding:12px 14px}.rvs-form textarea{min-height:130px;resize:vertical}.rvs-form option{color:#111}.screen-reader-text,.rvs-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}@media (max-width:760px){.rvs-form{grid-template-columns:1fr}.button{width:100%;padding-inline:18px}.section-heading{text-align:left}.breadcrumb{flex-wrap:wrap}}


/* True full-bleed edge-to-edge layout across all pages */
html, body { width: 100%; max-width: 100%; margin: 0; padding: 0; }
.rvs-site, .rvs-site #page, .rvs-site #main-content, .rvs-site main { width: 100%; max-width: none; overflow-x: hidden; }
.rvs-site .top-strip, .rvs-site .site-header, .rvs-site .site-footer, .rvs-site section, .rvs-site .page-hero, .rvs-site .footer-cta {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.rvs-site .wide { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
.rvs-site img { max-width: 100%; }

/* Stronger full-bleed enforcement for non-home templates */
.rvs-site .page-content,
.rvs-site .profile-single-page,
.rvs-site .booking-page-section,
.rvs-site .section-dark,
.rvs-site .section-velvet,
.rvs-site .section-light { box-sizing:border-box; }
.rvs-site .full-bleed-inner { width:100%; max-width:none; margin-left:0; margin-right:0; }

/* RVS FINAL EDGE-TO-EDGE OVERRIDE
   Makes every public page stretch across the complete viewport while preserving readable internal padding. */
:root { --edge: clamp(14px, 3.4vw, 54px); }
html, body, #main-content { width: 100%; max-width: none; margin: 0; padding: 0; overflow-x: hidden; }
body.rvs-site { width: 100%; max-width: none; }
body.rvs-site > *,
body.rvs-site #main-content,
body.rvs-site main,
body.rvs-site article,
body.rvs-site .site-header,
body.rvs-site .site-footer,
body.rvs-site .top-strip {
  max-width: none;
}
body.rvs-site section,
body.rvs-site .page-hero,
body.rvs-site .section-dark,
body.rvs-site .section-velvet,
body.rvs-site .section-light,
body.rvs-site .footer-cta,
body.rvs-site .testimonial,
body.rvs-site .page-content,
body.rvs-site .profile-single-page,
body.rvs-site .booking-page-section,
body.rvs-site .reviews-page {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box;
}
body.rvs-site .wide,
body.rvs-site .narrow,
body.rvs-site .text-page,
body.rvs-site .section-heading,
body.rvs-site .split-heading,
body.rvs-site .models-intro,
body.rvs-site .services-panel,
body.rvs-site .privacy-panel,
body.rvs-site .contact-panel,
body.rvs-site .booking-layout,
body.rvs-site .policy-list,
body.rvs-site .location-grid,
body.rvs-site .catalog-grid,
body.rvs-site .rvs-profile-grid,
body.rvs-site .rvs-filter-form,
body.rvs-site .rvs-partner-grid,
body.rvs-site .rvs-reviews-grid,
body.rvs-site .service-page-grid,
body.rvs-site .profile-layout,
body.rvs-site .footer-grid,
body.rvs-site .hero-grid {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
body.rvs-site .section-heading,
body.rvs-site .models-intro,
body.rvs-site .text-page,
body.rvs-site .locations-copy {
  text-align: left;
}
body.rvs-site .section-heading {
  display: block;
}
body.rvs-site .contact-panel,
body.rvs-site .services-panel,
body.rvs-site .privacy-panel {
  border-radius: clamp(22px, 2.6vw, 34px);
}
body.rvs-site .catalog-grid,
body.rvs-site .rvs-profile-grid,
body.rvs-site .rvs-partner-grid,
body.rvs-site .rvs-reviews-grid,
body.rvs-site .location-grid,
body.rvs-site .portfolio-grid,
body.rvs-site .feature-grid,
body.rvs-site .process-grid,
body.rvs-site .hours-grid {
  justify-content: stretch;
}
body.rvs-site .page-content > *,
body.rvs-site .section-dark > *,
body.rvs-site .section-velvet > *,
body.rvs-site .section-light > * {
  max-width: none;
}
body.rvs-site .wp-block-group,
body.rvs-site .wp-block-cover,
body.rvs-site .wp-block-columns,
body.rvs-site .wp-block-post-content,
body.rvs-site .entry-content {
  max-width: none !important;
  width: 100% !important;
}
@media (max-width: 760px) {
  body.rvs-site section,
  body.rvs-site .page-hero,
  body.rvs-site .page-content,
  body.rvs-site .profile-single-page,
  body.rvs-site .booking-page-section {
    padding-left: var(--edge);
    padding-right: var(--edge);
  }
}

/* =========================================================
   RVS COMPACT TRUE FULL-BLEED OVERRIDE v1.0.9
   Edge-to-edge sections and compact no-gap vertical rhythm.
   ========================================================= */
:root{
  --edge: clamp(10px, 1.35vw, 22px);
  --section-pad: clamp(18px, 2.2vw, 34px);
  --rvs-compact-gutter: clamp(10px, 1.35vw, 22px);
}
html,
body,
body.rvs-site,
body.rvs-site #page,
body.rvs-site #main-content,
body.rvs-site main,
body.rvs-site .site,
body.rvs-site .site-content,
body.rvs-site .content-area,
body.rvs-site .entry-content,
body.rvs-site .wp-site-blocks{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}
body.rvs-site .site-header,
body.rvs-site .top-strip,
body.rvs-site .site-footer,
body.rvs-site footer,
body.rvs-site section,
body.rvs-site .page-hero,
body.rvs-site .page-content,
body.rvs-site .section-dark,
body.rvs-site .section-velvet,
body.rvs-site .section-light,
body.rvs-site .footer-cta,
body.rvs-site .testimonial,
body.rvs-site .profile-single-page,
body.rvs-site .booking-page-section,
body.rvs-site .reviews-page{
  width:100vw !important;
  max-width:100vw !important;
  margin:0 calc(50% - 50vw) !important;
  box-sizing:border-box !important;
}
body.rvs-site section,
body.rvs-site .page-content,
body.rvs-site .profile-single-page,
body.rvs-site .booking-page-section,
body.rvs-site .reviews-page{
  padding:var(--section-pad) 0 !important;
}
body.rvs-site .page-hero{
  padding:clamp(22px,2.8vw,44px) 0 !important;
}
body.rvs-site section + section,
body.rvs-site .page-hero + section,
body.rvs-site main > * + *,
body.rvs-site .entry-content > * + *{
  margin-top:0 !important;
}
body.rvs-site .wide,
body.rvs-site .narrow,
body.rvs-site .hero-grid,
body.rvs-site .footer-grid,
body.rvs-site .profile-layout,
body.rvs-site .booking-layout,
body.rvs-site .policy-list,
body.rvs-site .models-intro,
body.rvs-site .section-heading,
body.rvs-site .split-heading,
body.rvs-site .text-page,
body.rvs-site .locations-copy,
body.rvs-site .location-grid,
body.rvs-site .catalog-grid,
body.rvs-site .rvs-profile-grid,
body.rvs-site .rvs-filter-form,
body.rvs-site .service-page-grid,
body.rvs-site .rvs-partner-grid,
body.rvs-site .rvs-reviews-grid,
body.rvs-site .portfolio-grid,
body.rvs-site .feature-grid,
body.rvs-site .process-grid,
body.rvs-site .hours-grid,
body.rvs-site .services-panel,
body.rvs-site .privacy-panel,
body.rvs-site .contact-panel,
body.rvs-site .faq-list{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
body.rvs-site .wide,
body.rvs-site .hero-grid,
body.rvs-site .footer-grid,
body.rvs-site .profile-layout,
body.rvs-site .booking-layout,
body.rvs-site .policy-list,
body.rvs-site .models-intro,
body.rvs-site .section-heading,
body.rvs-site .text-page,
body.rvs-site .locations-copy,
body.rvs-site .location-grid,
body.rvs-site .catalog-grid,
body.rvs-site .rvs-profile-grid,
body.rvs-site .rvs-filter-form,
body.rvs-site .service-page-grid,
body.rvs-site .rvs-partner-grid,
body.rvs-site .rvs-reviews-grid,
body.rvs-site .portfolio-grid,
body.rvs-site .feature-grid,
body.rvs-site .process-grid,
body.rvs-site .hours-grid,
body.rvs-site .faq-list{
  padding-left:var(--rvs-compact-gutter) !important;
  padding-right:var(--rvs-compact-gutter) !important;
}
body.rvs-site .services-panel,
body.rvs-site .privacy-panel,
body.rvs-site .contact-panel{
  border-radius:0 !important;
  margin:0 !important;
  padding:clamp(18px,2.2vw,34px) var(--rvs-compact-gutter) !important;
}
body.rvs-site .section-heading,
body.rvs-site .models-intro,
body.rvs-site .locations-copy{
  margin-bottom:clamp(12px,1.5vw,22px) !important;
}
body.rvs-site .section-heading p,
body.rvs-site .split-heading p,
body.rvs-site .text-page p{
  margin-top:6px !important;
}
body.rvs-site .page-hero .breadcrumb{
  margin-top:8px !important;
}
body.rvs-site .glass-card,
body.rvs-site .profile-card,
body.rvs-site .process-card,
body.rvs-site .hour-card,
body.rvs-site .gallery-card{
  padding:clamp(14px,1.45vw,22px) !important;
}
body.rvs-site .nav-wrap,
body.rvs-site .top-strip,
body.rvs-site footer{
  padding-left:var(--rvs-compact-gutter) !important;
  padding-right:var(--rvs-compact-gutter) !important;
}
body.rvs-site .hero{
  min-height:auto !important;
  padding:clamp(26px,3.5vw,54px) 0 !important;
}
body.rvs-site .hero-grid{
  gap:clamp(16px,2vw,32px) !important;
}
body.rvs-site .booking-layout,
body.rvs-site .profile-layout{
  gap:clamp(14px,2vw,34px) !important;
}
body.rvs-site .wp-block-group,
body.rvs-site .wp-block-cover,
body.rvs-site .wp-block-columns,
body.rvs-site .wp-block-post-content,
body.rvs-site .entry-content > .alignwide,
body.rvs-site .entry-content > .alignfull{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
@media (max-width:760px){
  :root{--edge:12px;--rvs-compact-gutter:12px;--section-pad:18px;}
  body.rvs-site section,
  body.rvs-site .page-content,
  body.rvs-site .profile-single-page,
  body.rvs-site .booking-page-section,
  body.rvs-site .reviews-page{padding-top:18px !important;padding-bottom:18px !important;}
  body.rvs-site .page-hero{padding-top:20px !important;padding-bottom:20px !important;}
}


/* FRONT PAGE PRIVATE CONTACT FORM VISIBILITY FIX */
body.rvs-site.home .section-light .contact-panel,
body.rvs-site.front-page .section-light .contact-panel,
body.rvs-site .home-contact-panel.contact-panel,
body.rvs-site #contact .contact-panel{
  overflow:hidden;
}
body.rvs-site #contact .contact-panel .rvs-form,
body.rvs-site #contact .contact-panel .contact-form{
  align-content:start;
  padding:clamp(20px,3vw,46px) !important;
  background:var(--cream) !important;
}
body.rvs-site #contact .contact-panel .rvs-form label,
body.rvs-site #contact .contact-panel .contact-form label,
body.rvs-site #contact .contact-panel label{
  display:grid !important;
  gap:8px !important;
  color:rgba(22,8,11,.86) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  line-height:1.25 !important;
  opacity:1 !important;
  visibility:visible !important;
}
body.rvs-site #contact .contact-panel .rvs-form input,
body.rvs-site #contact .contact-panel .rvs-form textarea,
body.rvs-site #contact .contact-panel .rvs-form select,
body.rvs-site #contact .contact-panel .contact-form input,
body.rvs-site #contact .contact-panel .contact-form textarea,
body.rvs-site #contact .contact-panel .contact-form select{
  display:block !important;
  width:100% !important;
  min-height:48px !important;
  border:1px solid rgba(22,8,11,.18) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:var(--dark-text) !important;
  padding:12px 14px !important;
  box-shadow:none !important;
  opacity:1 !important;
}
body.rvs-site #contact .contact-panel .rvs-form textarea,
body.rvs-site #contact .contact-panel .contact-form textarea{
  min-height:112px !important;
  resize:vertical !important;
}
body.rvs-site #contact .contact-panel .rvs-form input::placeholder,
body.rvs-site #contact .contact-panel .rvs-form textarea::placeholder,
body.rvs-site #contact .contact-panel .contact-form input::placeholder,
body.rvs-site #contact .contact-panel .contact-form textarea::placeholder{
  color:rgba(22,8,11,.46) !important;
}
body.rvs-site #contact .contact-panel .rvs-form .button,
body.rvs-site #contact .contact-panel .contact-form .button{
  width:100% !important;
  color:#150608 !important;
}
@media (max-width:760px){
  body.rvs-site #contact .contact-panel .rvs-form,
  body.rvs-site #contact .contact-panel .contact-form{grid-template-columns:1fr !important;}
}
