/* Direction approved 2026-10-29. Drop in licensed webfonts when supplied. */
@font-face{font-family:Gilroy;src:url('/raypath/assets/fonts/gilroy-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Gilroy;src:local('Gilroy SemiBold'),local('Gilroy-SemiBold');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Chronicle Display';src:local('Chronicle Display Roman'),local('ChronicleDisplay-Roman');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#fdfcfb;--ink:#0a3484;--muted:#49678d;--blue:#90acca;--midblue:#90acca;--sand:#d6cbbe;--taupe:#ada89d;--line:#d9dfe6;--serif:'Chronicle Display',Cormorant,Georgia,serif;--sans:Gilroy,Manrope,Arial,sans-serif}
body{font-size:14px;font-weight:300;line-height:1.65;background:var(--paper);color:var(--ink)}
h1,h2,h3{font-family:var(--sans);font-weight:300;letter-spacing:-.02em;line-height:1.12}
h1{font-size:clamp(44px,4.5vw,68px)}h2{font-size:clamp(34px,3.5vw,50px)}h3{font-size:25px}h1 em,h2 em,h3 em{font-style:normal}
.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:400;line-height:1.6;margin-bottom:20px}
.button{border-radius:3px;background:#164a81;border-color:#164a81;letter-spacing:.13em;text-transform:uppercase;font-size:10px;min-height:43px;padding:12px 20px;gap:22px;font-weight:400}
.button:hover{background:#0a3484;transform:none}.button>span{font-size:23px;line-height:1}
.text-link{border:0;text-transform:uppercase;font-weight:400;letter-spacing:.17em;font-size:10px;gap:25px;padding:9px 0}.text-link span{font-size:26px;line-height:1}.text-link:hover{color:#597da2;transform:translateX(3px)}
.header{height:104px;padding:0 6.3%;border:0;background:linear-gradient(100deg,#fff 5%,#f4f3f0 98%);gap:25px}
.brand{gap:17px;min-width:0;flex-shrink:0}.brand svg{width:46px;height:55px;stroke:var(--ink);stroke-width:1.65}.brand>span{font:400 19px/1.1 var(--serif);letter-spacing:.16em;white-space:nowrap}.brand small{display:none}
.desktop-nav{gap:30px}.desktop-nav>a{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.desktop-nav a:after{bottom:-7px}
.header-actions{gap:12px}.header .button{padding:10px 18px;min-height:40px;white-space:nowrap;font-size:9px;gap:20px}.icon-button{color:var(--ink)}
.mock-hero{min-height:610px;height:min(49vw,720px);position:relative;isolation:isolate;overflow:hidden;background:#e0d8cc}
.mock-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 52%;z-index:-2}
.mock-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 20%,rgba(255,255,255,.84) 36%,rgba(255,255,255,.23) 57%,transparent 75%)}
.mock-hero-copy{padding:90px 7.2% 65px;position:relative;z-index:1}
.mock-hero h1{font-size:clamp(44px,4.3vw,64px);font-weight:300;line-height:1.08;margin-bottom:27px;max-width:800px;letter-spacing:-.025em}
.mock-hero .eyebrow{margin-bottom:20px;font-size:11px;letter-spacing:.2em}
.mock-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:590px;margin-bottom:35px}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);padding:40px 7.2%;gap:35px;background:#efebe6}
.benefit{display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px}
.line-icon{width:38px;height:40px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.benefit>span{font-size:10px;letter-spacing:.17em;line-height:1.6;text-transform:uppercase}
.about-preview{padding:42px 7.2%;display:grid;grid-template-columns:45% 34% 13%;gap:4%;align-items:center;background:linear-gradient(100deg,#fff,#f7f6f3)}
.about-photo{height:405px;overflow:hidden;border-radius:3px}.about-photo>img{width:100%;height:100%;object-position:50% 47%}
.about-copy{padding:12px 0}.about-copy .eyebrow{margin-bottom:12px}.about-copy h2{font-size:45px;line-height:1.08;margin-bottom:32px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-bottom:33px}
.about-values{list-style:none;margin:0;padding:0 0 0 17px;border-left:1px solid var(--blue);text-transform:uppercase;font-size:9px;letter-spacing:.18em;line-height:2.6;align-self:center}
.catalog{padding:50px 7.2% 44px;max-width:1600px;margin:auto}
.catalog-heading{display:grid;grid-template-columns:54% 41%;gap:5%;margin-bottom:30px;align-items:center}.catalog-heading .eyebrow{margin-bottom:12px}.catalog-heading h2{font-size:43px;margin-bottom:10px}.catalog-heading>div>p:not(.eyebrow){font-size:12px;line-height:1.8;margin-bottom:15px;max-width:420px}
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 30px}
.service-card{background:#fff;border:1px solid #e6e7e7;border-radius:3px;overflow:hidden;box-shadow:0 3px 10px #293d5010;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}
.service-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #293d501a}
.service-card-photo{height:170px;overflow:hidden;flex-shrink:0}.service-card-photo>img{width:100%;height:100%;transition:transform .4s}
.service-card:hover img{transform:scale(1.03)}.service-card-copy{padding:15px 17px 19px;flex:1}
.service-card h3{font-size:16px;letter-spacing:0;line-height:1.4;margin:0 0 10px;display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.service-card h3>span{font-size:24px;line-height:1;flex-shrink:0}.service-card p{font-size:12px;line-height:1.7;margin:0;max-width:250px;color:#416993}
.office-card img{object-position:42% 45%}.commercial-card img{object-position:90% 50%;transform:scale(1.15)}.commercial-card:hover img{transform:scale(1.18)}.upholstery-card img{object-position:77% 64%;transform:scale(1.7);transform-origin:68% 68%}.upholstery-card:hover img{transform:scale(1.75)}.additional-card img{object-position:90% 65%;transform:scale(1.4);transform-origin:95% 65%}.additional-card:hover img{transform:scale(1.45)}
.trust-panel{position:relative;isolation:isolate;overflow:hidden;min-height:365px;display:grid;grid-template-columns:76% 24%;background:#d6cbbe}
.trust-background{position:absolute;inset:0 24% 0 0;width:76%;height:100%;object-fit:cover;object-position:60% 55%;z-index:-2}
.trust-panel:before{content:'';position:absolute;inset:0 24% 0 0;background:linear-gradient(90deg,#403a30a8,transparent 90%);z-index:-1}
.trust-copy{padding:42px 9.5%;color:white;max-width:740px}.trust-copy .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:10px}.trust-copy h2{font-size:42px;line-height:1.1;margin-bottom:20px;letter-spacing:-.025em}.trust-copy>p:not(.eyebrow){font-size:13px;line-height:1.65;max-width:490px;margin-bottom:24px}
.button-outline{background:transparent;border:1px solid #e0e8f3;border-radius:0;color:white;min-height:41px;font-size:9px;padding:10px 17px}.button-outline:hover{background:#ffffff20}
.trust-values{background:#e8e0d7;list-style:none;display:flex;flex-direction:column;justify-content:center;gap:18px;margin:0;padding:30px 20%;text-transform:uppercase;font-size:9px;letter-spacing:.15em;line-height:1.6}
.trust-values li{position:relative}.trust-values li+li:before{content:'';width:25px;height:1px;background:#8298af;position:absolute;top:-9px;left:0}
.brand-footer{padding:28px 7.2% 0;background:#fff}.footer-main{padding-bottom:25px;gap:20px;flex-wrap:nowrap}.footer-main .brand{gap:12px}.footer-main .brand svg{width:34px;height:42px}.footer-main .brand>span{font-size:13px;letter-spacing:.15em}.footer-main nav{gap:22px;white-space:nowrap}.footer-main nav>a{font-size:9px;letter-spacing:.04em}.copyright{font-size:9px;color:#6a83a4;white-space:nowrap}.social-placeholders{display:flex;gap:16px;align-items:center}.social-placeholders .line-icon{width:20px;height:21px;stroke-width:2}.facebook-symbol{font:bold 24px Arial}.footer-bottom{font-size:8px;letter-spacing:.02em;padding:13px 0;color:#8294aa}
.section{padding:75px 7.2%}.page-heading{padding:68px 7.2% 45px;text-align:left;max-width:1400px;margin:auto}.page-heading h1{font-size:clamp(42px,4.5vw,64px);max-width:950px}.page-heading>p:last-child{margin:0;max-width:700px;color:var(--muted);font-size:14px}.catalog-index{padding-top:10px}.inner-page .catalog .service-card-photo{height:180px}
.service-hero{min-height:590px}.service-hero>div{padding:42px 12% 50px}.service-hero h1{font-size:54px}.service-hero .serif-lead{font:400 23px/1.4 var(--sans)}.service-hero .eyebrow{font-size:9px}.service-hero>img{min-height:590px;max-height:680px}.service-hero p:not(.eyebrow):not(.serif-lead){font-size:13px}.scope h2,.methods h2{font-size:42px}.scope p,.methods p{color:var(--muted)}.scope-note{background:#f0ece6}.row-title{font-family:var(--sans);font-size:25px;letter-spacing:-.02em}.service-row{min-height:100px}.round-arrow{font-size:16px}.row-title small{font-size:8px}.back-link{font-size:11px}
.philosophy{background:#f3f0eb;margin:0 7.2%}.philosophy-photo{min-height:600px}.philosophy-copy{padding:50px 10%}.philosophy-copy h2{font-size:50px}.philosophy-copy .large-copy{font-size:16px!important}.philosophy-copy p:not(.eyebrow){font-size:13px}.philosophy-sign{font-family:var(--serif)}.faq h2{font-size:40px}.faq details p{color:var(--muted)}
.journal h3,.blog-list h3{font-size:26px;line-height:1.25}.post-meta{font-size:8px}.article h1{font-size:55px}.article-text h2{font-size:30px;line-height:1.3}.article-text p{color:var(--muted)}.article-intro{font-size:16px}.area-panel{background:#eee9e2}.area-mark svg{stroke:#809abb}.area-panel h3{font-size:65px}.area-panel .button-light{background:var(--ink);color:white;border-color:var(--ink)}
.dialog-body h2{font-size:35px;line-height:1.2}.dialog-body legend{font-family:var(--sans);font-size:24px;line-height:1.3}.dialog-top{background:#f7f5f0}.dialog-body{background:#fcfaf7}.dialog-body .button{text-transform:none;letter-spacing:0;font-size:12px}.form-progress li[aria-current]>span{background:var(--ink)}.check-label{font-size:11px}.dialog-body .text-link{font-size:10px}.result-actions{padding-top:5px}#form-result h3{font-size:28px;line-height:1.3}.review-placeholder{max-width:800px;margin:0 auto;padding:0 7.2% 80px}.review-placeholder p{font-size:15px;color:var(--muted);line-height:1.9}.review-placeholder .button{margin-top:10px}
@media(min-width:1600px){.mock-hero{height:720px}.mock-hero-copy{padding-top:115px}.about-preview{padding-top:55px;padding-bottom:55px}.about-photo{height:460px}.service-card-photo{height:205px}}
@media(max-width:1150px){.header{padding:0 5%;gap:20px;height:95px}.brand{gap:12px}.brand svg{width:39px;height:47px}.brand>span{font-size:16px;letter-spacing:.13em}.desktop-nav{gap:20px}.desktop-nav>a{font-size:8px}.header .button{font-size:8px;padding:10px 14px;gap:15px}.mock-hero-copy{padding:80px 7.2% 60px}.mock-hero{min-height:570px}.mock-hero h1{font-size:48px;max-width:670px}.mock-hero-copy>p:not(.eyebrow){font-size:13px;max-width:510px}.mock-hero .eyebrow{font-size:9px}.benefits{padding-top:35px;padding-bottom:35px}.about-preview{grid-template-columns:43% 37% 12%;gap:4%;padding-top:38px;padding-bottom:38px}.about-photo{height:365px}.about-copy h2{font-size:38px;margin-bottom:22px}.about-copy>p:not(.eyebrow){font-size:11px;margin-bottom:20px}.about-values{font-size:8px;padding-left:12px;letter-spacing:.1em}.catalog-heading h2{font-size:37px}.service-cards{gap:20px}.service-card-photo{height:150px}.service-card h3{font-size:14px}.service-card p{font-size:11px}.service-card-copy{padding:13px 14px 16px}.trust-copy>p:not(.eyebrow){font-size:12px}.trust-values{font-size:8px;padding-left:16%;padding-right:13%}.footer-main .brand>span{font-size:11px}.footer-main nav{gap:15px}.footer-main nav>a{font-size:8px}.footer-main{gap:18px}.social-placeholders{gap:10px}.copyright{font-size:8px}}
@media(max-width:900px){.brand>span{font-size:14px}.desktop-nav{gap:15px}.desktop-nav>a{font-size:7px;letter-spacing:.08em}.header .button{gap:11px;padding:10px 12px}.header{gap:16px}.about-preview{grid-template-columns:44% 50%;gap:6%;align-items:start}.about-photo{height:360px;grid-row:1/3}.about-copy{padding:0}.about-values{grid-column:2;align-self:start;margin-top:-3px;font-size:8px}.about-copy h2{font-size:39px}.about-copy>p:not(.eyebrow){font-size:11px}.catalog-heading{grid-template-columns:50% 46%;gap:4%}.service-card-photo{height:130px}.service-card h3{font-size:13px}.trust-panel{grid-template-columns:73% 27%}.trust-background{right:27%;width:73%}.trust-panel:before{right:27%}.trust-copy{padding-left:10%;padding-right:16%}.trust-copy h2{font-size:38px}.footer-main{flex-wrap:wrap}.footer-main nav{margin-left:auto}.footer-main .copyright{margin-left:auto}}
@media(max-width:800px){.header{height:85px;padding:0 6%}.brand>span{font-size:16px}.brand svg{width:36px;height:43px}.header .header-actions>.button{display:none}.header .menu-toggle{display:grid;width:38px;padding:7px}.desktop-nav{display:none}.menu-toggle span{width:25px;height:1px}.header-actions{margin-left:auto}#mobile-nav{padding:18px 7% 24px;background:#faf9f6}#mobile-nav>a{text-transform:uppercase;font-size:12px;letter-spacing:.15em;padding:12px 0}#mobile-nav .button{display:inline-flex;margin-top:10px;font-size:10px;padding:13px 20px}.mock-hero{min-height:520px}.mock-hero-copy{padding-top:70px}.mock-hero h1{font-size:43px}.mock-hero-copy>p:not(.eyebrow){font-size:12px;max-width:480px}.benefits{gap:20px}.benefit>span{font-size:8px;letter-spacing:.13em}.benefit .line-icon{width:32px;height:35px}.about-preview{padding-left:6%;padding-right:6%}.catalog{padding-left:6%;padding-right:6%}.catalog-heading h2{font-size:33px}.catalog-heading>div>p:not(.eyebrow){font-size:11px}.service-cards{gap:15px}.service-card-copy{padding:11px}.service-card-photo{height:115px}.service-card h3{font-size:12px;line-height:1.4}.service-card p{font-size:10px}.trust-copy h2{font-size:35px}.trust-copy>p:not(.eyebrow){font-size:11px}.trust-values{font-size:7px;padding-left:14%}.trust-panel{min-height:335px}.section{padding:60px 7%}.section-heading h2{font-size:40px}.page-heading h1{font-size:49px}.service-hero{grid-template-columns:1fr}.service-hero>div{padding:35px 7% 45px}.service-hero h1{font-size:55px}.service-hero>img{height:340px;min-height:0;max-height:none}.philosophy{margin:0 7%}.philosophy-copy h2{font-size:42px}.philosophy-photo{min-height:620px}.article h1{font-size:48px}.article-text h2{font-size:29px}.dialog-body h2{font-size:33px}.faq h2{font-size:40px}}
@media(max-width:540px){.header{height:78px;padding:0 6.5%;background:#fff}.brand{gap:10px}.brand svg{width:34px;height:42px}.brand>span{font-size:14px;letter-spacing:.13em}.header .icon-button{width:34px;height:36px}.mock-hero{height:auto;min-height:0;background:#897b6b;padding-top:0;overflow:hidden}.mock-hero-image{height:340px;object-position:62% 60%;inset:0 0 auto;z-index:-2}.mock-hero:after{background:linear-gradient(0deg,#857666 0%,rgba(133,118,102,.98) 16%,rgba(109,96,81,.72) 45%,rgba(73,61,47,.14) 69%,transparent 100%)}.mock-hero-copy{padding:205px 6.5% 30px;color:white}.mock-hero .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:14px}.mock-hero h1{font-size:32px;line-height:1.12;letter-spacing:-.035em;margin-bottom:20px;max-width:360px}.mock-hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.75;max-width:340px;margin-bottom:14px}.desktop-break{display:none}.mock-hero .text-link{font-size:9px;color:white;padding:7px 0;gap:23px}.text-link{font-size:9px;gap:20px}.text-link span{font-size:25px}.benefits{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:23px 11% 25px;background:linear-gradient(110deg,#f8f6f2,#f1ece6)}.benefit{flex-direction:row;text-align:left;gap:25px}.benefit>span{font-size:9px;letter-spacing:.15em;line-height:1.6}.benefit .line-icon{width:29px;height:32px}.about-preview{padding:17px 5% 26px;display:flex;flex-direction:column;gap:0;background:#fcfbf9}.about-photo{width:100%;height:170px;border-radius:2px;margin-bottom:20px}.about-photo>img{object-position:50% 43%}.about-copy{padding:0 4%}.about-copy .eyebrow{font-size:8px;margin-bottom:10px}.about-copy h2{font-size:29px;line-height:1.12;margin-bottom:20px}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;margin-bottom:18px}.about-copy .text-link{font-size:8px}.about-values{margin:16px 0 0 4%;padding-left:12px;font-size:8px;line-height:2.5;letter-spacing:.15em}.catalog{padding:23px 5% 29px}.catalog-heading{display:block;margin:0 4% 19px}.catalog-heading .eyebrow{font-size:8px;margin-bottom:9px}.catalog-heading h2{font-size:29px;line-height:1.12;margin-bottom:20px}.catalog-heading>div>p:not(.eyebrow){font-size:11px;line-height:1.8;margin-bottom:12px}.catalog-heading .text-link{font-size:8px}.service-cards{display:flex;flex-direction:column;gap:9px}.service-card{flex-direction:row;align-items:center;min-height:58px;border-radius:2px;box-shadow:0 2px 6px #293d500b}.service-card-photo{height:58px;width:85px;flex-basis:85px}.service-card-copy{padding:9px 12px;min-width:0}.service-card h3{font-size:11px;line-height:1.35;margin:0;align-items:center;gap:15px;letter-spacing:.015em}.service-card h3>span{font-size:23px;margin-left:auto}.service-card p{display:none}.service-card:hover{transform:none}.service-card:hover img{transform:none}.commercial-card img,.commercial-card:hover img{transform:scale(1.15)}.upholstery-card img,.upholstery-card:hover img{transform:scale(1.7)}.additional-card img,.additional-card:hover img{transform:scale(1.4)}.service-card-photo img{object-fit:cover}.trust-panel{margin:0 5% 15px;display:block;min-height:0;border-radius:3px;background:#ded4c7;padding:23px 6% 12px;color:var(--ink)}.trust-background{inset:0;width:100%;height:100%;object-position:70% 60%;opacity:.38}.trust-panel:before{inset:0;background:linear-gradient(100deg,#f3ede4dd,#f0e8dc80)}.trust-copy{padding:0;color:var(--ink)}.trust-copy .eyebrow{font-size:8px;margin-bottom:8px}.trust-copy h2{font-size:29px;line-height:1.15;margin-bottom:15px}.trust-copy h2 br{display:none}.trust-copy>p:not(.eyebrow){font-size:11px;line-height:1.7;margin-bottom:16px}.trust-copy .button{color:var(--ink);border-color:#8a9bad;font-size:8px;min-height:35px;padding:7px 11px;gap:18px}.trust-copy .button:hover{background:#ffffff50}.trust-values{padding:7px 0 0;background:transparent;gap:0;font-size:8px;line-height:1.8;letter-spacing:.1em}.trust-values li{padding:12px 0;border-top:1px solid #a4a9a7}.trust-values li br{display:none}.trust-values li+li:before{display:none}.brand-footer{padding:27px 7% 0}.footer-main{flex-direction:column;align-items:center;gap:20px;padding-bottom:25px}.footer-main .brand{gap:12px}.footer-main .brand svg{width:30px;height:36px}.footer-main .brand>span{font-size:12px}.footer-main nav{display:none}.social-placeholders{gap:18px}.social-placeholders .line-icon{width:18px;height:20px}.facebook-symbol{font-size:23px}.footer-main .copyright{margin:0;font-size:8px}.footer-bottom{justify-content:center;font-size:7px;gap:8px;text-align:center}.footer-bottom>span:first-child{width:auto}.page-heading{padding:40px 7% 30px}.page-heading h1{font-size:39px;line-height:1.15}.page-heading>p:last-child{font-size:12px}.catalog-index{padding-top:0;padding-bottom:25px}.inner-page .catalog .service-card-photo{height:58px}.section{padding:45px 7%}.section h2{font-size:33px}.service-hero>div{padding:25px 7% 40px}.service-hero h1{font-size:44px}.service-hero .serif-lead{font-size:20px;line-height:1.5}.service-hero>img{height:280px}.service-hero .button{font-size:9px}.service-hero p:not(.eyebrow):not(.serif-lead){font-size:12px}.scope h2,.methods h2{font-size:35px}.scope-list li,.scope p,.methods p{font-size:12px}.row-title{font-size:20px}.service-row{min-height:90px;gap:12px}.row-title small{font-size:7px}.philosophy{margin:0;display:block}.philosophy-photo{min-height:310px}.philosophy-copy{padding:35px 7%}.philosophy-copy h2{font-size:37px}.philosophy-copy .large-copy{font-size:15px!important}.philosophy-copy p:not(.eyebrow){font-size:12px}.faq h2{font-size:34px}.faq summary{font-size:12px}.article{padding:30px 7% 45px}.article h1{font-size:39px;line-height:1.18}.article-intro{font-size:13px}.article-text h2{font-size:26px}.article-text p{font-size:13px}.article-cover{height:260px}.journal h3,.blog-list h3{font-size:24px}.blog-list .journal-grid{gap:30px}.area-panel{min-height:380px}.area-panel h3{font-size:48px}.contact-grid{padding-top:15px}.contact-grid h2{font-size:35px}.review-placeholder{padding-bottom:45px}.review-placeholder p{font-size:13px}.dialog-body h2{font-size:29px}.dialog-body legend{font-size:21px}.dialog-body .button{font-size:10px}.dialog-body{padding:23px 20px}.dialog-top{padding:10px 15px}#form-result h3{font-size:25px}.result-actions .button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-card-photo img,.text-link{transition:none!important;transform:none!important}}
