/* RFH logo palette. Edit this source; source/build.py publishes it unchanged. */
:root{--blue:#3628ef;--red:#fc0800;--yellow:#fffeab;--ink:#000;--muted:#595959;--surface:#f5f5f5;--line:#d9d9d9;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto;object-fit:cover}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(42px,5.15vw,72px)}h2{font-size:clamp(30px,3.1vw,44px)}h3{font-size:23px}p{margin:0 0 1.15em}p:last-child{margin-bottom:0}em{font-style:normal;color:var(--red)}.container{max-width:var(--max);margin:auto;width:calc(100% - 88px)}.narrow{max-width:820px}.section{padding:88px 0}.warm{background:var(--surface)}.navy{background:var(--blue);color:white}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:19px}.lead{font-size:18px;line-height:1.7;color:#4d4d4d}.muted{color:var(--muted)}.skip-link{position:fixed;left:16px;top:-100px;padding:12px;background:white;z-index:100}.skip-link:focus{top:12px}.utility{background:var(--blue);color:white;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.01em;padding:9px 0}.utility .container{display:flex;justify-content:space-between;gap:15px}.header{background:#fff;border-bottom:1px solid #e8e8e8;position:sticky;top:0;z-index:20}.nav-wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;flex-shrink:0}.brand img{width:76px;height:64px;object-fit:contain}.brand strong{font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.02em;display:block}.brand small{font-size:13px;font-weight:600;line-height:1.4;display:block;letter-spacing:0;color:var(--muted);margin-top:5px}nav#main-nav{display:flex;gap:27px;align-items:center;font-size:17px;font-weight:800}nav#main-nav a{text-decoration:none;padding:9px 0}nav#main-nav a:hover{color:var(--blue)}nav#main-nav a[aria-current=page]{color:var(--blue)}nav#main-nav .nav-cta{padding:12px 18px;border:1px solid var(--line);border-radius:3px;margin-left:3px;background:var(--blue);border-color:var(--blue);color:var(--white)}.nav-cta span{margin-left:16px;color:var(--yellow)}.menu-toggle{display:none}.home-hero{background:var(--white);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;min-height:650px;align-items:center}.hero-copy{padding:36px 0}.hero-copy h1{margin-bottom:20px;max-width:660px}.hero-copy .lead{max-width:560px;font-size:21px;font-weight:600;line-height:1.5}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;font-size:16px;font-weight:800;border:1px solid transparent;border-radius:3px;padding:16px 21px;line-height:1.25;min-height:51px;cursor:pointer;transition:background .15s,transform .15s}.button span{font-size:20px;line-height:.7}.primary{background:var(--red);color:var(--ink)}.primary:hover{background:var(--blue);color:var(--white);transform:translateY(-1px)}.secondary{background:transparent;border-color:var(--blue);color:var(--blue)}.secondary:hover{background:var(--yellow)}.light{background:white;color:var(--blue)}.hero-proof{display:flex;gap:28px;border-top:1px solid var(--line);margin-top:24px;padding-top:18px;max-width:510px;line-height:1.45}.hero-proof span{font-size:14px;font-weight:600;color:var(--muted)}.hero-proof strong{display:block;font-size:20px;font-weight:800;color:var(--blue);letter-spacing:-.01em;margin-bottom:4px}.hero-photos{height:540px;position:relative;align-self:center;margin-top:-12px}.hero-main{position:absolute;right:-36px;top:0;width:100%;height:410px;border-radius:4px;overflow:hidden;box-shadow:0 14px 35px #0000001a}.hero-main img{width:100%;height:100%;object-fit:cover}.hero-main:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#000000a8)}.hero-main figcaption{position:absolute;bottom:23px;left:25px;right:20px;color:white;z-index:1;font-size:16px;font-weight:700;line-height:1.4}.hero-detail{position:absolute;left:-12px;bottom:0;width:64%;height:260px;box-shadow:0 15px 40px #00000021;border:7px solid white;border-radius:4px;overflow:hidden;background:white;transform:rotate(-2deg)}.hero-detail img{height:196px}.hero-detail figcaption{font-size:13px;font-weight:800;line-height:1.35;padding:8px 7px;color:var(--blue);background:white}.photo-tab{position:absolute;bottom:48px;right:-18px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}.scope-strip{border-top:1px solid white;border-bottom:1px solid var(--line)}.scope-strip .container{display:flex;justify-content:space-between;padding:21px 36px;gap:20px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scope-strip span:before{content:'+';color:var(--red);font-size:15px;margin-right:13px}.section-heading{max-width:670px;margin-bottom:36px}.section-heading h2{margin-bottom:18px}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);font-size:16px;max-width:600px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-card{padding:28px 25px 35px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;min-height:240px;text-decoration:none;transition:background .18s}.service-card:hover{background:var(--surface)}.service-number{font-size:10px;font-weight:700;color:var(--blue);letter-spacing:.1em;display:block;margin-bottom:25px}.service-card h3{font-size:21px;line-height:1.2;margin-bottom:12px;max-width:190px}.service-card p{font-size:12px;line-height:1.6;color:var(--muted);max-width:185px}.card-arrow{position:absolute;right:19px;top:25px;color:var(--red);font-size:21px}.text-callout{padding:28px 0 0;display:flex;align-items:center;gap:20px;justify-content:space-between}.text-callout p{font-size:14px;margin:0}.text-callout a,.text-link{font-size:13px;font-weight:700;text-decoration:none;color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:5px}.text-link:hover,.text-callout a:hover{color:var(--blue)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.editorial-image{position:relative}.editorial-image img{height:450px;object-fit:cover;border-radius:4px}.editorial-image span{position:absolute;bottom:20px;left:20px;right:20px;background:white;padding:14px 18px;font-size:11px;letter-spacing:.03em;color:var(--blue)}.editorial-copy h2{margin-bottom:25px}.editorial-copy p:not(.eyebrow){color:var(--muted);font-size:15px}.editorial-copy .text-link{display:inline-block;margin-top:12px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-grid>a{text-decoration:none}.project-grid img{height:270px;object-fit:cover;border-radius:3px}.project-grid figure figcaption{padding-top:22px}.project-grid figcaption span{font-size:10px;color:var(--blue);font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:12px}.project-grid h3{font-size:23px;max-width:310px;line-height:1.25}.project-grid a img{transition:filter .15s}.project-grid a:hover img{filter:brightness(.93)}.process-wrap{display:grid;grid-template-columns:1fr 1fr;gap:90px}.navy .eyebrow{color:var(--yellow)}.navy .section-heading h2{font-size:42px}.navy .text-link{color:white}.process{list-style:none;margin:0;padding:0}.process li{display:flex;gap:24px;border-bottom:1px solid #ffffff2a;padding:0 0 25px;margin-bottom:25px}.process li:last-child{margin-bottom:0}.process li>span{font-size:12px;color:var(--yellow);letter-spacing:.1em;padding-top:3px}.process h3{font-size:20px;margin-bottom:10px}.process p{font-size:13px;color:var(--white);max-width:400px}.area-block h2{margin-bottom:24px}.area-block p:not(.eyebrow){color:var(--muted);font-size:15px}.area-list a{display:block;text-decoration:none;padding:22px 5px;border-bottom:1px solid var(--line)}.area-list strong{display:block;font-size:23px;letter-spacing:-.025em}.area-list span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.area-list a:hover strong{color:var(--blue)}.cta-band{background:var(--red);color:var(--ink);padding:56px 0}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band .eyebrow{color:var(--ink);margin-bottom:15px}.cta-band h2{font-size:36px;margin-bottom:13px}.cta-band p:not(.eyebrow){font-size:14px;color:var(--ink)}.cta-band .button{flex-shrink:0}.footer{background:var(--blue);color:white;padding:64px 0 25px}.footer-top{display:flex;gap:30px;justify-content:space-between}.footer-brand{font-size:26px;font-weight:700;letter-spacing:-.025em;margin-bottom:9px}.footer-top p{font-size:13px;line-height:1.8;color:var(--white)}.footer-top .muted{font-size:12px;color:var(--white)}.footer-top h2{font-size:21px;margin-bottom:17px}.footer-phone{font-size:25px;font-weight:700;letter-spacing:-.025em}.footer-top a{text-decoration:none}.footer-top a[href^=mailto]{font-size:13px;line-height:2.8;color:var(--white)}.footer-links{display:flex;gap:28px;flex-wrap:wrap;font-size:12px;margin:35px 0 25px}.footer-links a{text-decoration:none;color:var(--white)}.footer a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid #ffffff80;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--white)}.mobile-contact{display:none}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;font-weight:600;color:var(--muted);padding:28px 0 36px;line-height:1.4}.breadcrumb a{text-decoration:none}.interior-hero{background:var(--surface);padding-bottom:70px}.interior-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.interior-hero h1{font-size:clamp(39px,4.4vw,60px);margin-bottom:25px}.interior-hero .lead{font-size:21px;font-weight:600;line-height:1.55}.interior-image img{height:425px;border-radius:4px}.interior-image{margin:0}.statement-panel{min-height:360px;padding:50px;background:var(--blue);border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;color:white}.statement-panel .panel-mark{font-size:82px;font-weight:800;letter-spacing:-.06em;line-height:1}.statement-panel p{font-size:25px;line-height:1.3;margin:30px 0}.statement-panel>span:last-child{color:var(--white);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.service-content{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;align-items:start}.article h2{font-size:31px;line-height:1.2;margin:35px 0 20px}.article h2:first-child{margin-top:0}.article h1{margin-bottom:30px}.article p{color:#4d4d4d;line-height:1.85;font-size:16px}.article section{margin-bottom:38px}.article section h2{margin-top:0}.scope-box{background:var(--surface);padding:32px;border-top:3px solid var(--red);border-radius:0 0 4px 4px}.scope-box h2{font-size:23px;margin-bottom:18px}.scope-box ul{list-style:none;padding:0;margin:0 0 25px}.scope-box li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}.scope-box li:before{content:'+';color:var(--red);margin-right:10px;font-weight:bold}.scope-box p:not(.eyebrow){font-size:12px;color:var(--muted)}.scope-box .text-link{display:inline-block;font-size:12px}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{font-size:17px;font-weight:700;cursor:pointer;padding:22px 38px 22px 0;position:relative;line-height:1.45;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:8px;top:18px;color:var(--red);font-size:24px;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{font-size:15px;color:var(--muted);margin:0;padding:0 30px 25px 0}.local-links{display:flex;gap:24px;flex-wrap:wrap}.local-links a{font-weight:700;font-size:16px}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.feature-grid article{padding:34px;background:var(--surface);border:1px solid var(--line)}.feature-grid h2{font-size:28px;margin-bottom:20px}.feature-grid p{font-size:15px;color:var(--muted)}.feature-grid .text-link{display:inline-block;margin-top:12px}.rounded{border-radius:4px}.split>div>img{max-height:450px;object-fit:cover}.split h2{margin-bottom:25px}.split p:not(.eyebrow){color:var(--muted)}.gallery-card p{font-size:12px;color:var(--muted);margin-top:12px}.credential{background:var(--surface);padding:30px;margin-top:35px;border-left:3px solid var(--red)}.credential>*{display:block;font-size:15px;margin:5px 0}.contact-section{background:var(--surface);padding-bottom:85px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:75px;align-items:start}.contact-copy{padding-top:34px}.contact-copy h1{margin-bottom:28px;font-size:57px}.contact-copy .lead{font-size:21px;font-weight:600;line-height:1.55}.contact-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:35px 0;padding:25px 0}.contact-details span{display:block;color:var(--muted);font-size:11px;margin:0 0 5px;text-transform:uppercase;letter-spacing:.1em}.contact-details a{display:block;font-size:26px;font-weight:700;text-decoration:none;letter-spacing:-.02em;margin-bottom:18px}.contact-details a:last-child{font-size:20px;margin-bottom:0}.form-card{padding:40px;background:white;box-shadow:0 12px 45px #00000008;border:1px solid var(--line);border-radius:4px}.form-card>h2{font-size:31px;margin-bottom:12px}.form-card>p{color:var(--muted);font-size:12px;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 18px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:12px;font-weight:700;line-height:1.5;margin-bottom:7px}label span{font-size:10px;color:var(--muted);font-weight:400}input,select,textarea{display:block;width:100%;min-width:0;background:#fff;border:1px solid #767676;border-radius:3px;min-height:48px;padding:11px 12px;font-size:14px;color:var(--ink)}textarea{resize:vertical;min-height:125px}input:focus,select:focus,textarea:focus{border-color:var(--blue)}.form-note{font-size:11px!important;line-height:1.7;color:var(--muted);margin:22px 0!important}.form-note a{color:var(--blue)}.form-card .button{width:100%}.success{padding:70px 0 100px;text-align:center}.success h1{margin-bottom:25px}.success .button{margin-top:30px}.success .actions{justify-content:center}.guide-head{background:var(--surface);padding-top:0;padding-bottom:65px}.guide-head h1{margin-bottom:25px}.guide-body{padding-top:60px}.guide-note{border-left:3px solid var(--red);padding:20px 25px;background:var(--surface);font-size:13px;color:var(--muted);margin:40px 0 30px}
@media(min-width:1500px){.hero-grid{min-height:720px}.hero-photos{height:570px}.hero-main{height:440px}.hero-detail{height:250px}.hero-detail img{height:208px}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.brand small{display:none}.brand strong{font-size:22px}.brand img{width:65px;height:58px}nav#main-nav{gap:20px;font-size:16px}.hero-grid{gap:25px;min-height:620px}.hero-copy h1{font-size:60px}.hero-photos{height:500px}.hero-main{right:-20px;height:370px}.hero-detail{width:75%;height:220px}.hero-detail img{height:178px}.hero-copy .lead{font-size:20px}.hero-copy .actions{gap:9px}.button{padding:15px 16px;font-size:16px}.hero-proof{gap:25px}.service-card{padding:25px 19px;min-height:245px}.service-card h3{font-size:20px}.split,.process-wrap,.interior-grid,.service-content,.contact-grid{gap:45px}.project-grid img{height:220px}.interior-hero h1{font-size:47px}.interior-image img{height:380px}.contact-copy h1{font-size:48px}.form-card{padding:30px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.utility{font-size:14px}.utility .container>span:last-child{display:none}.nav-wrap{min-height:78px;gap:15px}.brand img{width:61px;height:54px}.brand strong{font-size:22px}.menu-toggle{display:block;background:white;border:1px solid var(--line);font-size:14px;font-weight:bold;padding:10px 12px;border-radius:3px;color:var(--blue)}.menu-toggle span{margin-left:9px;font-size:15px}nav#main-nav{display:flex;position:absolute;top:100%;left:0;right:0;background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 25px;gap:0;flex-direction:column;align-items:stretch;box-shadow:0 15px 20px #0000000c}.js nav#main-nav{display:none}.js nav#main-nav.is-open{display:flex}nav#main-nav a{padding:14px 0;font-size:18px}nav#main-nav .nav-cta{margin:8px 0 2px;text-align:center}.header:has(nav#main-nav.is-open){box-shadow:0 2px 20px #00000015}.hero-grid{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{padding:32px 0}.hero-copy h1{font-size:60px}.hero-copy .lead{max-width:570px}.hero-photos{height:450px;margin:0 10px 38px;width:calc(100% - 20px)}.hero-main{right:0;width:88%;height:340px}.hero-detail{width:52%;height:218px;left:0}.hero-detail img{height:177px}.photo-tab{right:-15px;bottom:-7px;writing-mode:horizontal-tb;transform:none;font-size:12px}.hero-proof{max-width:500px}.scope-strip .container{padding:20px 0;flex-wrap:wrap;gap:12px 22px;justify-content:flex-start;font-size:9px}.scope-strip span:before{margin-right:6px}.section{padding:62px 0}.section-heading{margin-bottom:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:220px;padding:25px}.service-card h3{font-size:23px;max-width:220px}.service-card p{max-width:230px}.text-callout{align-items:flex-start;flex-direction:column;gap:10px;padding-top:24px}.split,.process-wrap,.interior-grid,.service-content,.contact-grid{grid-template-columns:1fr;gap:38px}.editorial-image img{height:420px}.project-grid{grid-template-columns:repeat(2,1fr);gap:25px}.project-grid> :last-child:nth-child(odd){grid-column:1/-1}.project-grid> :last-child:nth-child(odd) img{height:310px}.project-grid img{height:230px}.project-grid h3{font-size:22px}.process-wrap{gap:35px}.navy .section-heading h2{font-size:38px}.process-wrap .section-heading{margin-bottom:23px}.area-list a{padding:20px 0}.cta-band .container{flex-direction:column;align-items:flex-start;gap:25px}.cta-band{padding:45px 0}.cta-band h2{font-size:33px}.footer-top{flex-direction:column;gap:35px}.footer-links{gap:15px 24px}.footer-bottom{flex-direction:column;gap:6px}.footer{padding:48px 0 28px}.interior-hero{padding-bottom:45px}.interior-hero h1{font-size:48px}.interior-image img{height:400px}.interior-hero .lead{max-width:650px}.breadcrumb{padding:23px 0 30px}.statement-panel{min-height:290px;padding:35px}.statement-panel .panel-mark{font-size:70px}.statement-panel p{margin:25px 0;font-size:23px}.feature-grid{gap:20px}.feature-grid article{padding:26px}.feature-grid h2{font-size:25px}.contact-copy{padding:0}.contact-copy h1{font-size:50px}.contact-copy .form-note{max-width:500px}.contact-details{margin:25px 0;padding:22px 0}.contact-grid{gap:25px}.form-card{padding:35px}.contact-section{padding-bottom:55px}.success{padding:30px 0 50px}.article h2{font-size:29px}}
@media(max-width:520px){.container{width:calc(100% - 36px)}h1{font-size:43px}h2{font-size:33px}.utility{padding:7px 0}.brand img{width:53px;height:48px}.brand{gap:8px}.brand strong{font-size:20px}.nav-wrap{min-height:76px;gap:10px}.menu-toggle{padding:10px 9px;font-size:14px}.menu-toggle span{margin-left:5px}.hero-copy{padding-top:29px;padding-bottom:29px}.hero-copy h1{font-size:49px;letter-spacing:-.045em;line-height:1.02;margin-bottom:22px}.eyebrow{font-size:9px;margin-bottom:17px;letter-spacing:.13em}.hero-copy .lead{font-size:18px;line-height:1.5}.actions{gap:9px;margin-top:24px}.button{font-size:16px;padding:15px;min-height:52px;gap:13px}.hero-copy .primary{width:100%}.hero-copy .secondary{width:100%;padding:15px 12px}.hero-proof{margin-top:22px;padding-top:18px;gap:18px}.hero-proof span{font-size:13px}.hero-proof strong{font-size:17px}.hero-photos{height:340px;margin:0 4px 31px;width:calc(100% - 8px)}.hero-main{width:94%;height:265px}.hero-main figcaption{font-size:15px;bottom:19px;left:17px}.hero-detail{width:68%;height:190px;border-width:5px;bottom:4px}.hero-detail img{height:134px}.hero-detail figcaption{font-size:12px;padding:6px 5px}.photo-tab{font-size:11px;right:-1px;bottom:-12px;letter-spacing:.06em}.scope-strip .container{padding:17px 0;gap:9px 15px;font-size:8px}.scope-strip span:before{font-size:11px}.section{padding:51px 0}.section-heading h2{font-size:33px}.section-heading>p:last-child:not(.eyebrow){font-size:14px}.service-card{padding:21px 17px 24px;min-height:217px}.service-number{margin-bottom:24px;font-size:9px}.service-card h3{font-size:20px}.service-card p{font-size:11px}.card-arrow{right:14px;top:18px;font-size:19px}.text-callout p,.text-callout a{font-size:12px}.split{gap:32px}.editorial-image img{height:330px}.editorial-image span{font-size:10px;padding:12px;left:15px;right:15px;bottom:15px}.editorial-copy p:not(.eyebrow){font-size:14px}.project-grid{grid-template-columns:1fr;gap:32px}.project-grid> :last-child:nth-child(odd){grid-column:auto}.project-grid img,.project-grid> :last-child:nth-child(odd) img{height:270px}.project-grid figure figcaption{padding-top:17px}.project-grid h3{font-size:23px}.project-grid figcaption span{font-size:9px;margin-bottom:9px}.navy .section-heading h2{font-size:34px}.process li{gap:18px}.process h3{font-size:18px}.process p{font-size:12px}.area-block p:not(.eyebrow){font-size:14px}.area-list strong{font-size:21px}.cta-band h2{font-size:31px}.cta-band p:not(.eyebrow){font-size:13px}.footer{padding-bottom:92px}.footer-links{font-size:11px}.footer-bottom{font-size:9px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;box-shadow:0 -3px 20px #00000020;padding-bottom:env(safe-area-inset-bottom);background:var(--blue)}.mobile-contact a{text-align:center;padding:16px 5px;text-decoration:none;font-size:14px;font-weight:800;color:white;line-height:1.4}.mobile-contact a:last-child{background:var(--red);color:var(--ink)}.interior-hero h1{font-size:42px;line-height:1.07}.interior-hero .lead{font-size:18px}.interior-image img{height:310px}.interior-grid{gap:32px}.interior-hero{padding-bottom:35px}.interior-hero .actions .primary{width:100%}.interior-hero .actions .secondary{width:100%}.breadcrumb{font-size:13px;padding:20px 0 25px}.article h2{font-size:27px}.article p{font-size:15px}.scope-box{padding:26px}.faq summary{font-size:15px}.faq details p{font-size:14px}.feature-grid{grid-template-columns:1fr}.feature-grid article{padding:27px}.local-links{flex-direction:column;gap:16px}.local-links a{font-size:15px}.contact-copy h1{font-size:44px}.contact-copy .lead{font-size:18px}.contact-details a{font-size:25px}.contact-details a:last-child{font-size:18px}.form-card{padding:25px 20px}.form-card>h2{font-size:29px}.form-grid{grid-template-columns:1fr;gap:18px}input,select,textarea{font-size:16px}label{font-size:12px}.form-note{font-size:10px!important}.guide-head h1{font-size:40px}.guide-head .lead{font-size:16px}.guide-body{padding-top:40px}.success h1{font-size:40px}.success p.lead{font-size:16px}.statement-panel{padding:28px;min-height:260px}.statement-panel .panel-mark{font-size:62px}.statement-panel p{font-size:22px}.statement-panel>span:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Owner-provided portrait photos: show the complete image without cropping. */
.project-grid img.owner-project-photo{object-fit:contain;background:var(--surface);width:100%}
.owner-photo-gallery{align-items:start}
.owner-photo-gallery img.owner-project-photo,.owner-photo-gallery> :last-child:nth-child(odd) img.owner-project-photo{height:410px;background:var(--surface)}
@media(max-width:600px){.owner-photo-gallery img.owner-project-photo,.owner-photo-gallery> :last-child:nth-child(odd) img.owner-project-photo{height:420px;max-height:115vw}}

/* Attributed company portrait from the legacy RFH site. */
.interior-image img[src="/assets/robert-hoskinson-rfh-truck.webp"]{object-fit:contain;background:var(--surface)}

/* Use the logo highlight for a visible focus ring on brand-color surfaces. */
.navy :focus-visible,.footer :focus-visible,.utility :focus-visible,.mobile-contact :focus-visible{outline-color:var(--yellow)}
nav#main-nav .nav-cta:hover{background:var(--yellow);color:var(--blue)}
nav#main-nav .nav-cta:hover span{color:var(--blue)}
.cta-band :focus-visible{outline-color:var(--ink)}

/* Readable first-screen text, without enlarging the already-prominent headlines. */
.hero-copy .eyebrow,.interior-hero .eyebrow,.contact-copy .eyebrow,.guide-head .eyebrow{font-size:15px;line-height:1.45;letter-spacing:.1em;margin-bottom:16px}
.hero-copy .actions{margin-top:24px}
.guide-head .lead{font-size:21px;font-weight:600;line-height:1.55}
.scope-strip .container{font-size:14px;letter-spacing:.04em}
.contact-details span{font-size:14px;font-weight:700;letter-spacing:.07em}
.statement-panel>span:last-child{font-size:14px;font-weight:700;line-height:1.5}
.form-card>p{font-size:16px;line-height:1.5}
.form-card label{font-size:15px}
.form-card label span{font-size:13px}
.form-card input,.form-card select,.form-card textarea{font-size:16px}
@media(min-width:1500px){.hero-detail{height:272px}}
@media(min-width:801px) and (max-width:1100px){.hero-copy h1{font-size:clamp(48px,5.45vw,60px)}.hero-detail{height:242px}}
@media(max-width:980px){
 .nav-wrap{gap:15px}
 .menu-toggle{display:block;background:white;border:1px solid var(--line);font-size:16px;font-weight:700;padding:10px 12px;border-radius:3px;color:var(--blue)}
 .menu-toggle span{margin-left:9px;font-size:15px}
 nav#main-nav{position:absolute;top:100%;left:0;right:0;background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 25px;gap:0;flex-direction:column;align-items:stretch;box-shadow:0 15px 20px #0000000c}
 .js nav#main-nav{display:none}
 .js nav#main-nav.is-open{display:flex}
 nav#main-nav a{padding:14px 0;font-size:18px}
 nav#main-nav .nav-cta{margin:8px 0 2px;text-align:center}
}
@media(max-width:800px){.hero-detail{height:242px}.hero-proof{max-width:510px}}
@media(max-width:520px){
 .nav-wrap{gap:10px}
 .menu-toggle{font-size:14px;padding:10px 9px}
 .menu-toggle span{margin-left:5px}
 .hero-copy .eyebrow,.interior-hero .eyebrow,.contact-copy .eyebrow,.guide-head .eyebrow{font-size:14px;letter-spacing:.07em;margin-bottom:16px}
 .guide-head .lead{font-size:18px}
 .hero-detail{height:190px}
 .hero-proof{display:grid;grid-template-columns:1fr 1fr}
 .scope-strip .container{font-size:12px;line-height:1.5}
 .statement-panel>span:last-child{font-size:13px}
 .mobile-contact a{font-size:14px;padding:16px 5px}
}
@media(max-width:360px){
 .brand img{width:43px;height:46px}
 .brand strong{font-size:17px}
 .hero-copy h1{font-size:44px}
 .hero-proof{gap:12px}
 .hero-proof strong{font-size:16px}
 .mobile-contact a{font-size:12px}
}
/* Keep the main photo label clear of the overlapping detail photograph. */
.hero-main figcaption{top:20px;bottom:auto;right:auto;max-width:calc(100% - 40px);padding:8px 12px;border-radius:2px;background:#000000bf}
@media(max-width:520px){.hero-main figcaption{top:12px;left:12px;max-width:calc(100% - 24px);padding:7px 10px}}
