/* 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}
:root{--paper:#fdfcfb;--ink:#0a3484;--muted:#49678d;--blue:#90acca;--midblue:#90acca;--sand:#d6cbbe;--taupe:#ada89d;--line:#d9dfe6;--serif:var(--sans);--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}
.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}.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}}

.brand-logo { display: block; width: auto; height: 86px; }
.footer-main .brand-logo { height: 66px; }
.desktop-nav > a { font-size: clamp(12px, 1.04vw, 15px); letter-spacing: .09em; }
.footer-main nav > a { font-size: 13px; }
.header .button {
  min-height: 48px;
  padding: 10px clamp(12px, 1.4vw, 22px);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .07em;
  gap: 12px;
}
#mobile-nav > a { font-size: 15px; }
.area-logo { display: block; margin: 0 auto 18px; }
.area-panel h3 { font-size: clamp(34px, 4vw, 58px); }
#service-area-map {
  width: 100%;
  height: clamp(290px, 34vw, 390px);
  border: 1px solid #c9cdd3;
  border-radius: 6px;
  background: #e4ebef;
  isolation: isolate;
  font-family: var(--sans);
}
.contact-details dd a { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.trust-panel { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.trust-panel::before { right: 33.33%; }
.trust-background { right: 33.33%; width: 66.67%; }
.trust-values { padding: 26px clamp(16px, 4vw, 56px); }
.trust-values strong { font-size: 10px; }
.trust-values p { margin: 4px 0 0; font-size: 12px; text-transform: none; letter-spacing: normal; }
.quote-scope { margin: 12px 0 18px; border: 1px solid #d6cbbe; border-radius: 4px; }
.quote-scope > summary { cursor: pointer; padding: 12px 14px; font-weight: 700; }
.scope-option { padding: 6px 14px; }
.quote-scope .check-label { align-items: start; margin: 0; font-size: 13px; }
.quote-scope .check-label input { flex: 0 0 auto; margin-top: 3px; }
.scope-detail { margin: 6px 0 4px 8px; padding: 4px 0 4px 8px; border-left: 1px solid #d6cbbe; }
.scope-detail > label { margin: 8px; }
.scope-detail p { margin: 8px; }
.quote-scope .dirt-options { padding: 10px 0; margin: 12px 14px; border-top: 1px solid #d6cbbe; }
.quote-scope .dirt-options legend { padding: 0 4px; font-size: 13px; font-weight: 700; }
[data-full-contact][hidden], .scope-detail[hidden], .quote-scope [hidden] { display: none; }
.quote-photos { margin-top: 18px; }
.quote-photos label { margin-bottom: 3px; }
.quote-photos .fine-print { margin: 4px 0 9px; }
.quote-photos input[type=file] { max-width: 100%; }
#photo-status { overflow-wrap: anywhere; }
#photo-status:empty { display: none; }

@media (max-width: 540px) {
  .brand-logo { height: 68px; }
  .footer-main .brand-logo { height: 58px; }
  .footer-main nav { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; gap: 8px 16px; }
  #mobile-nav .button { min-height: 46px; font-size: 13px; }
  .trust-panel::before { right: 0; }
  .trust-background { right: 0; width: 100%; }
  .trust-values { padding: 7px 0 0; }
  .trust-values p { font-size: 11px; }
}

.reviews-section {
  background: radial-gradient(ellipse at 100% 0%, #e5e9ee 0%, transparent 55%), #f4f0eb;
  color: var(--ink);
}
.reviews-section h2 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.15;
  margin: 0 0 1.4rem;
}
.review-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 1rem;
  max-width: 72rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.review-cards:has(> :only-child) { max-width: 43rem; }
.review-card {
  background: #fff;
  border: 1px solid #e3dbd1;
  border-radius: 1rem;
  box-shadow: 0 9px 28px #25344713;
  color: #262e38;
  padding: clamp(1rem, 2vw, 1.4rem);
}
.review-card-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem .75rem;
}
.review-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: #f4dada;
  color: #7b353f;
  font: 700 1rem var(--sans);
}
.review-card:nth-child(3n + 2) .review-avatar { background: #e1e9d4; color: #3f5730; }
.review-card:nth-child(3n + 3) .review-avatar { background: #e5dff4; color: #544177; }
.review-identity, .review-score { margin: 0; line-height: 1.45; }
.review-identity strong, .review-identity span, .review-score time { display: block; }
.review-identity span, .review-score time { font-size: .82rem; color: #546071; }
.review-score { margin-left: auto; text-align: right; }
.review-stars { color: #9c6000; letter-spacing: .1em; white-space: nowrap; }
.review-card-body {
  border-top: 1px solid #eee7de;
  margin-top: .9rem;
  padding-top: .95rem;
  position: relative;
}
.review-mark {
  position: absolute;
  right: 0;
  top: .65rem;
  color: #d8c8ac;
  font: 700 2.5rem/.85 var(--sans);
}
.review-card h3 { margin: 0 2rem .55rem 0; font: 700 .88rem/1.4 var(--sans); }
.review-card blockquote { margin: 0; }
.review-card blockquote p { margin: 0; font-size: .95rem; line-height: 1.65; }
.review-card blockquote p + p { margin-top: .65rem; }
.review-photos { margin: 1rem 0 0; }
.review-photos ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.review-photos img { display: block; width: 100%; height: auto; border-radius: .4rem; }

#analytics-settings {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
#analytics-consent {
  position: fixed;
  z-index: 30;
  bottom: max(1rem, env(safe-area-inset-bottom));
  right: 1rem;
  width: min(28rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  padding: 1.2rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: .6rem;
  box-shadow: 0 8px 28px #25406926;
}
#analytics-consent h2 { font-size: 1.35rem; margin: 0 0 .55rem; }
#analytics-consent p { margin: 0 0 .55rem; }
#analytics-consent a { text-decoration: underline; }
.analytics-consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.analytics-consent-actions button {
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--ink);
  border-radius: .25rem;
  min-height: 44px;
  padding: .45rem .8rem;
  font-weight: 600;
  cursor: pointer;
}
.analytics-consent-actions button:hover { background: #edf1f6; }
.portfolio-videos {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(.9rem, 2.2vw, 1.5rem);
  max-width: 65rem;
  width: 86%;
  margin: 0 auto clamp(2rem, 6vw, 5rem);
}
.portfolio-videos video {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: contain;
  background: #181b20;
  border-radius: .5rem;
}
@media (min-width: 600px) {
  .portfolio-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .portfolio-videos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
