/* Only WordPress integration and the requested additional page/blog layouts. */
.rf-plan-group { display: contents; }
.rf-plan-group[hidden] { display: none; }
.rf-normal-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rf-logo { max-width:130px; max-height:80px; object-fit:contain; }
.social-links a { display:inline-flex; align-items:center; justify-content:center; }
.rf-page-heading { padding-top:55px; margin-bottom:32px; }
.rf-page-heading h1 { font:400 clamp(42px,6vw,72px)/1.05 var(--heading); color:var(--gold); margin:0 0 20px; }
.rf-prose { max-width:800px; line-height:1.7; padding-bottom:32px; }
.rf-prose h2,.rf-prose h3 { color:var(--gold); }
.rf-prose a:not(.button) { color:var(--gold); text-decoration:underline; }
.rf-prose img { height:auto; }
.rf-detail { min-height:60vh; }
.rf-detail-image { width:min(100%,620px); margin-bottom:28px; }
.rf-detail-image .reference-image { max-height:540px; }
.rf-detail-image:has(+.rf-prose) { float:none; }
.rf-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.rf-blog-card { background:var(--panel); border:1px solid var(--border); overflow:hidden; }
.rf-blog-card > a { display:block; }
.rf-blog-card .rf-post-image { width:100%; height:190px; object-fit:cover; }
.rf-blog-copy { padding:22px; }
.rf-blog-copy h3 { font:400 27px/1.1 var(--heading); margin:10px 0; }
.rf-blog-copy p { color:var(--muted); }
.rf-blog-meta { font-size:13px; color:var(--gold); }
.rf-blog-copy .button { margin-top:12px; }
.rf-page-gallery { padding-bottom:45px; }
.rf-page-gallery .gallery-grid { margin-top:20px; }
.rf-footer-menu { width:100%; display:flex; justify-content:center; gap:18px; flex-wrap:wrap; }
.rf-offer-badge { display:inline-block; color:var(--gold); border:1px solid var(--gold); padding:6px 12px; margin-bottom:16px; }
.offer-card { position:relative; }
.rf-card-badge { position:absolute; z-index:2; top:8px; right:8px; background:var(--gold); color:#080909; padding:7px 12px; font-weight:600; pointer-events:none; }
.rf-gallery-caption { margin-top:16px; }
.rf-prose .wp-block-image { margin-left:0; margin-right:0; }
.navigation.pagination { margin:32px 0; }
.page-numbers { display:inline-block; padding:10px; }
.sub-menu { display:flex; flex-direction:column; gap:10px; }
@media(max-width:760px) { .rf-blog-grid { grid-template-columns:1fr; } .rf-page-heading { padding-top:28px; } }

/* Purpose-specific internal compositions; approved homepage rules stay intact. */
.rf-page-hero{padding-block:60px 40px;border-bottom:1px solid #aa823850}
.rf-page-hero-image,.rf-story{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px}
.rf-page-hero h1,.rf-page-hero h2{font:400 clamp(42px,5vw,72px)/1.03 var(--heading);color:var(--gold);margin:12px 0 22px}
.rf-page-hero .eyebrow,.rf-story .eyebrow{color:var(--gold);margin:0 0 12px}
.rf-page-hero-photo,.rf-story-photo{width:100%;height:340px;object-fit:cover;border:1px solid var(--border);border-radius:4px}
.rf-lead{max-width:740px;font-size:19px;line-height:1.6;color:var(--muted);margin-bottom:24px}
.rf-story{padding-block:48px}.rf-story:has(>.rf-story-copy:only-child){grid-template-columns:1fr;max-width:860px}
.rf-story h2,.rf-cta h2,.rf-faq h2,.rf-branch-details>h2,.rf-contact-section h2{font:400 clamp(30px,4vw,44px)/1.1 var(--heading);color:var(--gold);margin:0 0 20px}
.rf-story .rf-prose{padding-bottom:8px}.rf-story .rf-prose p{margin-top:0}
.rf-cta{background:linear-gradient(120deg,#211c10,#111);border:1px solid var(--border);padding:38px;text-align:center;margin-block:30px 50px;border-radius:4px}
.rf-cta .rf-lead{margin-inline:auto}.rf-cta .hero-actions{justify-content:center}
.rf-section-intro{line-height:1.6;color:var(--muted);margin-bottom:18px}.rf-section-intro:empty{display:none}
.rf-faq{max-width:900px;padding-block:40px}.rf-faq details{border-block-end:1px solid #aa823860;padding:20px 0}.rf-faq summary{cursor:pointer;font-size:20px;color:var(--gold);line-height:1.4}.rf-faq .rf-prose{padding:18px 0 0}
.rf-branch-details{padding-block:40px}.rf-branch-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;border:1px solid var(--border);border-radius:4px;padding:24px;margin-top:24px;background:var(--panel)}
.rf-branch-detail h3{font:400 36px/1.1 var(--heading);margin:0 0 16px;color:var(--gold)}.rf-branch-detail address{font-style:normal;line-height:1.6}.rf-branch-detail .hero-actions{justify-content:flex-start;flex-wrap:wrap}.rf-branch-detail .reference-image{border-radius:3px}
.rf-contact-section{padding-block:44px;max-width:900px}.rf-contact-form{display:grid;gap:10px;border:1px solid var(--border);border-radius:4px;padding:28px;background:var(--panel)}
.rf-contact-form label{margin-top:10px}.rf-contact-form input:not([type=checkbox]),.rf-contact-form select,.rf-contact-form textarea{width:100%;max-width:100%;padding:12px;background:#090909;border:1px solid #777;color:var(--text);border-radius:3px;font:inherit}.rf-contact-form textarea{resize:vertical}
.rf-contact-form .button{justify-self:start;margin-top:14px}.rf-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px}.rf-consent input{margin-top:3px;accent-color:var(--gold)}.rf-honeypot{display:none}.rf-form-status{padding:16px;border:1px solid var(--gold)}
.rf-filters{display:flex;gap:16px;align-items:center;margin:18px 0 24px;flex-wrap:wrap}.rf-filters select{background:#111;color:var(--text);border:1px solid var(--border);padding:8px;max-width:100%}
.rf-blog-intro{max-width:760px;font-size:19px;line-height:1.6;color:var(--muted);margin-bottom:30px}.rf-blog-copy h2{font:400 27px/1.1 var(--heading);margin:10px 0}.rf-article-author{color:var(--gold)}
@media(max-width:760px){.rf-page-hero{padding-block:30px}.rf-page-hero-image,.rf-story,.rf-branch-detail{grid-template-columns:1fr;gap:24px}.rf-page-hero-photo,.rf-story-photo{height:240px}.rf-cta{padding:26px 18px}.rf-branch-detail,.rf-contact-form{padding:18px}.rf-contact-section,.rf-story{padding-block:28px}.rf-lead{font-size:17px}.rf-filters label{max-width:100%}}

/* Internal pages keep the global header in document flow. */
body:not(.home) .site-header{position:relative}
/* Branch gallery page: shared brand, independent page composition. */
.rf-branch-galleries{padding-block:36px 56px}.rf-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:28px;border-bottom:1px solid var(--border);margin-bottom:28px}.rf-gallery-heading h1,.rf-gallery-heading h2{font:400 clamp(42px,5vw,62px)/1 var(--heading);color:var(--gold);margin:0 0 10px}.rf-gallery-intro p{margin:0;color:#c4c7cd}.rf-gallery-filters{display:flex;gap:10px;flex-wrap:wrap}.rf-gallery-filters .button{min-width:88px;min-height:44px}.rf-gallery-filters .is-active{background:var(--gold);color:#080909}.rf-gallery-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.rf-gallery-branch{min-width:0}.rf-gallery-branch[hidden]{display:none}.rf-gallery-branch-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.rf-gallery-branch-heading h2{font:400 38px/1.1 var(--heading);color:var(--gold);margin:0}.rf-gallery-branch-heading .button{min-height:44px;white-space:nowrap}.rf-gallery-branch-copy{color:#c4c7cd;line-height:1.5;min-height:62px}.rf-gallery-branch-copy p{margin:12px 0 18px}.rf-branch-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rf-branch-photo-grid .gallery-item{grid-column:span 2;position:relative;display:block;border:1px solid var(--gold);border-radius:5px;overflow:hidden;aspect-ratio:1.3;min-width:0;height:auto}.rf-branch-photo-grid .gallery-item:nth-child(4n+1),.rf-branch-photo-grid .gallery-item:nth-child(4n+4){grid-column:span 3}.rf-branch-photo-grid .gallery-item>img{width:100%;height:100%;object-fit:cover;display:block}.rf-branch-photo-grid .reference-image{width:100%;height:100%;min-height:100%}.rf-photo-expand{position:absolute;right:10px;bottom:10px;width:32px;height:32px;display:grid;place-items:center;background:#080909b3;color:#fff;border-radius:50%;opacity:0;transition:opacity .15s}.gallery-item:hover .rf-photo-expand,.gallery-item:focus-visible .rf-photo-expand{opacity:1}.rf-gallery-branches.is-filtered{grid-template-columns:1fr}.is-filtered .rf-branch-photo-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.rf-inline-gallery-group{border:1px solid #aa8238;padding:20px;margin:22px 0}
#detail-dialog.rf-lightbox{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:rgba(20,20,20,.84);color:white;box-shadow:none;overflow:hidden}#detail-dialog.rf-lightbox::backdrop{background:rgba(0,0,0,.38)}.rf-lightbox-toolbar{position:absolute;top:0;left:0;right:0;height:68px;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;z-index:3}.rf-lightbox-toolbar>div{display:flex;gap:8px}.rf-lightbox button{background:transparent;color:#fff;border:0;min-width:44px;min-height:44px;font:32px/1 Arial;cursor:pointer}.rf-lightbox button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.rf-lightbox .dialog-close{position:static;font-size:36px}.rf-lightbox-stage{position:absolute;inset:78px 76px 80px;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-y}.rf-lightbox-stage>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.rf-lightbox-stage>.reference-image{width:min(1100px,100%);height:auto;aspect-ratio:calc(var(--w)/var(--h));max-height:100%;flex-shrink:0}.rf-lightbox-stage.is-zoomed{display:block;cursor:zoom-out}.rf-lightbox-stage.is-zoomed>img{max-width:none;max-height:none;width:160%;height:auto}.rf-lightbox-stage.is-zoomed>.reference-image{width:160%;max-height:none}.rf-lightbox-prev,.rf-lightbox-next{position:absolute;top:45%;z-index:2;font-size:52px!important}.rf-lightbox-prev{left:12px}.rf-lightbox-next{right:12px}.rf-lightbox-caption{position:absolute;bottom:16px;left:72px;right:72px;text-align:center;margin:0;font-size:16px}.rf-lightbox-counter{font-size:16px}.rf-lightbox-open{overflow:hidden!important}
@media(max-width:1000px){.rf-gallery-heading{align-items:flex-start;flex-direction:column;gap:18px}.rf-gallery-branches{gap:24px}.rf-gallery-branch-heading{align-items:flex-start;flex-direction:column}.rf-gallery-branch-heading h2{font-size:34px}}
@media(max-width:700px){.rf-gallery-branches{grid-template-columns:1fr;gap:32px}.rf-gallery-branch+.rf-gallery-branch{padding-top:28px;border-top:1px solid var(--border)}.rf-gallery-branch-heading{flex-direction:row;align-items:center}.rf-gallery-branch-heading h2{font-size:30px}.rf-gallery-branch-heading .button{font-size:12px;padding-inline:12px}.rf-gallery-filters{width:100%}.rf-gallery-filters .button{flex:1}.is-filtered .rf-branch-photo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.rf-lightbox-stage{inset:72px 16px 84px}.rf-lightbox-toolbar{padding-inline:10px}.rf-lightbox-caption{left:20px;right:20px;font-size:14px}.rf-lightbox-prev,.rf-lightbox-next{top:auto;bottom:12px;background:#0008!important}.rf-lightbox-caption{bottom:62px}.rf-lightbox-toolbar>div{gap:0}}
@media(prefers-reduced-motion:reduce){.rf-photo-expand{transition:none}}
.rf-branch-photo-grid{grid-auto-rows:clamp(180px,17vw,245px)}.rf-branch-photo-grid .gallery-item{aspect-ratio:auto;height:100%}.rf-branch-photo-grid .reference-image{position:absolute;inset:0;height:100%}.rf-lightbox-caption{max-height:48px;overflow:auto}
@media(max-width:700px){.rf-branch-photo-grid{grid-auto-rows:clamp(150px,43vw,260px)}}
.rf-lightbox button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rf-lightbox [hidden]{display:none!important}
/* Preserve the reference sheet's crop ratio while filling each tile. */
.rf-branch-photo-grid .gallery-item .reference-image{inset:0 auto auto 50%;height:100%;width:auto;min-width:100%;min-height:0;aspect-ratio:calc(var(--w)/var(--h));transform:translateX(-50%)}
