/* RayFix V15 — Signature Service refinement: understated technical navy, warm orange,
   premium editorial spacing and accessibility. Layered on V14 to preserve components. */
:root{--rf-v15-ink:#09273b;--rf-v15-mid:#164158;--rf-v15-mist:#f5f8fa;--rf-v15-warm:#f4761d;--rf-v15-ring:#f5a56e;--rf-v15-elev:0 16px 44px rgba(4,30,49,.085)}
body.rayfix-v8{background:var(--rf-v15-mist);-webkit-font-smoothing:antialiased}
.rf-container{max-width:min(100% - 38px,1360px)}
.rf-header{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:rgba(255,255,255,.965)}
.rf-brand img,.rf-footer-logo{object-fit:contain}
.rf-nav-link,.rf-nav-trigger{letter-spacing:.008em}
.rf-v7-hero{background:radial-gradient(ellipse at 4% 2%,rgba(236,118,34,.045),transparent 45%),linear-gradient(180deg,#fcfdfe,#f4f8fa)}
.rf-v7-hero-shell{border:1px solid rgba(228,235,240,.2);border-radius:clamp(22px,2.5vw,35px);overflow:hidden}
.rf-v7-hero-copy{background:radial-gradient(ellipse at -25% 100%,rgba(224,112,35,.11),transparent 51%),linear-gradient(138deg,#09243a 0%,#0b2e45 71%,#15445a 100%)}
.rf-v7-hero-copy h1{max-width:680px;font-weight:800;line-height:1.055;letter-spacing:-.052em}
.rf-v7-hero-copy h1 span{color:#ff8b38}
.rf-v7-hero-copy p{color:#d1dfe7;font-size:clamp(14px,1.22vw,17px);max-width:610px}
.rf-v7-hero-points span{align-items:center}
.rf-v7-hero-main img{object-fit:cover}
.rf-v7-hero-call{backdrop-filter:blur(16px);background:rgba(9,39,60,.94);border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 36px rgba(0,0,0,.18)}
.rf-booking-strip{box-shadow:0 15px 42px rgba(10,42,63,.075);border:1px solid #dee8ec!important;border-radius:22px!important;position:relative;isolation:isolate}
.rf-booking-strip label>span{color:#4d6477}
.rf-booking-strip input,.rf-booking-strip select{background:#f6f9fa!important;border-color:#d9e4ea!important}
.rf-booking-strip input:focus-visible,.rf-booking-strip select:focus-visible{outline:2px solid var(--rf-v15-ring)!important;outline-offset:2px}
.rf-v15-unconfirmed{grid-column:1/-1;justify-self:end;font-size:11px!important;color:#647786!important;margin:0 0 -5px!important;line-height:1.5!important}
.rf-v7-trust{border-bottom:1px solid #e6edf0;background:#fff}
.rf-v7-trust>div>div{gap:12px}
.rf-v14-contact-panel{background:linear-gradient(180deg,#f5f8fa 0%,#fff 80%)}
.rf-v14-contact-shell{background:radial-gradient(circle at 100% -25%,rgba(232,110,25,.17),transparent 35%),linear-gradient(120deg,#071f33,#0d3048 64%,#17445a);box-shadow:0 24px 65px rgba(4,30,50,.17);border:1px solid rgba(255,255,255,.15)}
.rf-v14-contact-heading h2{letter-spacing:-.045em}
.rf-v14-contact-choice{border-radius:17px;box-shadow:0 13px 29px rgba(3,19,29,.13);min-height:90px}
.rf-v14-contact-choice.call{background:linear-gradient(180deg,#fff,#f4f8fa)}
.rf-v14-contact-choice.wa{background:linear-gradient(180deg,#fff,#f0f9f5)}
.rf-v14-contact-choice:hover{box-shadow:0 20px 44px rgba(0,0,0,.18)}
.rf-section-head{gap:20px}
.rf-title{letter-spacing:-.046em;text-wrap:balance}
.rf-v7-services{background:#fff}
.rf-v7-service-grid{align-items:stretch}
.rf-v7-service-card{overflow:hidden;border-radius:22px!important;border:1px solid #e4ebef;background:#fff;box-shadow:0 13px 33px rgba(11,40,62,.07)}
.rf-v7-service-card h3{letter-spacing:-.025em;line-height:1.2}
.rf-v7-service-card:focus-visible{outline:3px solid #f4761d;outline-offset:3px}
.rf-v7-service-card img{object-fit:cover}
.rf-v7-why,.rf-v7-process,.rf-v13-ready{background:radial-gradient(circle at 91% 7%,rgba(230,118,31,.055),transparent 31%),#f4f8fa}
.rf-v7-problems,.rf-v7-faq-section{background:#fff}
.rf-v13-ready-card{border:1px solid #dfebf0!important;box-shadow:0 12px 30px rgba(10,46,68,.07)!important;border-radius:22px!important}
.rf-v7-process-line>div{border-radius:16px}
.rf-page-hero{background:#071e31;min-height:250px}
.rf-page-hero h1{letter-spacing:-.047em;line-height:1.08;text-wrap:balance}
.rf-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rf-page-content{background:linear-gradient(180deg,#fff 0%,#f6f9fa 75%)}
.rf-content-wrap{min-width:0}
.rf-service-nav{position:sticky;top:85px;z-index:9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(255,255,255,.94);border-radius:13px;border:1px solid #e3edf2;box-shadow:0 10px 32px rgba(9,43,64,.055)}
.rf-service-aside{border:1px solid #dee9ef;border-radius:24px!important;box-shadow:var(--rf-v15-elev)}
.rf-service-aside .rf-form-grid input,.rf-service-aside .rf-form-grid select,.rf-service-aside .rf-form-grid textarea{min-width:0;max-width:100%}
.rf-form-wrap{background:#fff;border:1px solid #e1e9ee;border-radius:23px!important;box-shadow:var(--rf-v15-elev)}
.rf-form-wrap label,.rf-form-grid label{color:#27465a}
.rf-form-wrap input:not([type=checkbox]):not([type=radio]),.rf-form-wrap select,.rf-form-wrap textarea{min-height:46px;border:1px solid #d7e5ec;border-radius:13px}
.rf-form-wrap textarea{min-height:130px}
.rf-form-wrap :is(input,select,textarea):focus-visible{outline:3px solid #f0b58a;outline-offset:1px}
.rf-form-status.success{background:#e6f5ed!important;color:#0a5932!important;border:1px solid #b0ddc6!important;border-radius:13px;padding:14px 17px}
.rf-form-status.error{background:#fff0eb!important;color:#8b2c17!important;border:1px solid #f4beae!important;border-radius:13px;padding:14px 17px}
.rf-v15-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.rf-v12-calendar{border:1px solid #e0ebf0;border-radius:20px!important;overflow:hidden;background:#fff}
.rf-v12-day[disabled]{opacity:.3;cursor:not-allowed}
.rf-v12-day:focus-visible,.rf-v12-time:focus-visible{outline:3px solid #e98642;outline-offset:2px}
.rf-v12-day[aria-pressed="true"],.rf-v12-time[aria-pressed="true"]{background:#e86e16!important;color:#fff!important}
.rf-v15-booking-hint{padding:10px 12px;border-left:3px solid #e98642;color:#6b4a30;font-size:12px;line-height:1.5;background:#fff7ef;border-radius:6px;margin-block:10px}
.rf-footer{background:radial-gradient(circle at 100% 0%,rgba(236,126,34,.085),transparent 43%),linear-gradient(155deg,#071b2e,#0a2c43);border-top:3px solid #e87421}
.rf-footer-contact-rail{border:1px solid rgba(255,255,255,.16);box-shadow:0 15px 40px rgba(0,0,0,.12)}
.rf-footer-grid a:focus-visible,.rf-footer-contact-rail a:focus-visible{outline:3px solid #ffb782;outline-offset:4px}
.rf-footer-bottom{border-color:rgba(255,255,255,.14)}
.rf-btn{font-weight:700;letter-spacing:.005em}
.rf-btn-primary{background:linear-gradient(115deg,#f78125,#ec6912);border:1px solid rgba(255,147,65,.4)}
.rf-btn-primary:hover{background:linear-gradient(115deg,#ec6912,#d65e10)}
.rf-bottom-dock{box-shadow:0 -10px 28px rgba(6,30,47,.15)}
@media(max-width:980px){.rf-container{max-width:calc(100% - 30px)}.rf-v7-hero-copy h1{font-size:clamp(35px,6vw,60px)}.rf-service-nav{top:70px}.rf-v14-contact-shell{gap:24px}}
@media(max-width:680px){
 .rf-container{max-width:calc(100% - 28px)}.rf-v7-hero-shell{border-radius:23px}.rf-v7-hero-copy{padding-inline:22px!important}.rf-v7-hero-copy h1{font-size:clamp(33px,9vw,48px)}.rf-v7-hero-copy p{font-size:14px}
 .rf-v7-hero-media{min-height:230px}.rf-v7-hero-main img{min-height:230px}.rf-v7-hero-call{max-width:80%}
 .rf-v7-service-card{border-radius:19px!important}.rf-v14-contact-shell{border-radius:22px}.rf-v14-contact-choice{min-height:76px}
 .rf-v15-unconfirmed{justify-self:start;text-align:left;margin:0!important}
 .rf-page-hero-inner{gap:20px}.rf-page-content{padding-top:20px}
 .rf-service-nav{overflow-x:auto;scrollbar-width:thin;white-space:nowrap;top:60px}
 .rf-form-grid{min-width:0}.rf-form-grid>*{min-width:0}.rf-footer-grid{gap:25px}
 .rf-bottom-dock{bottom:0!important;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0!important}
 body:has(.rf-bottom-dock){padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.rf-v8-marquee-track,.rf-brand-track{animation:none!important}.rf-btn,.rf-v7-service-card,.rf-v14-contact-choice{transform:none!important;transition:none!important}}

.rf-v15-contact-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:center;padding:26px 30px;border-radius:24px;background:linear-gradient(115deg,#09283f,#0f4058);box-shadow:var(--rf-v15-elev);color:#fff;margin:28px auto}.rf-v15-contact-card h3{font-size:clamp(21px,2.5vw,29px);color:#fff;line-height:1.12;margin:8px 0}.rf-v15-contact-card p{color:#cbdfe9;margin-bottom:0}.rf-v15-contact-card-actions{display:grid;gap:9px}.rf-v15-contact-card-actions a{text-decoration:none;padding:13px 17px;border-radius:13px;background:#f77b1d;color:#0c2639;font-weight:800;text-align:center}.rf-v15-contact-card-actions a.rf-v15-contact-wa{background:#e8f8ee;color:#126334}.rf-v15-contact-card-actions a:focus-visible{outline:3px solid #f4ab76;outline-offset:3px}@media(max-width:760px){.rf-v15-contact-card{grid-template-columns:1fr;padding:24px 20px}}

/* Navy text over orange buttons yields clearer contrast than white over vivid orange. */
.rf-btn-primary,.rf-v15-contact-card-actions a:not(.rf-v15-contact-wa){color:#09253a!important}
