/* FORM/SHIFT reference layout v3. Scope: rf-* classes only.
Paste the complete file into Appearance > Customize > Additional CSS when using the JSON template.
The included theme already loads this file. Layout measurements are centralized below. */
.rf-page {
 --rf-paper:#f6f3ea; --rf-black:#080808; --rf-red:#ff321e; --rf-blue:#0754f5; --rf-yellow:#f1ff3c; --rf-line:#aaa79f;
 --rf-display:Impact,'Arial Narrow',sans-serif; --rf-body:Arial,Helvetica,sans-serif; --rf-mono:'Courier New',monospace;
 display:flex!important; flex-direction:column!important; gap:0!important;
 width:100%!important; max-width:1440px!important; margin:0 auto!important; padding:0 24px!important;
 background:var(--rf-paper)!important; color:var(--rf-black)!important; container-type:inline-size;
}
.rf-page,.rf-page * {box-sizing:border-box;}
.rf-page .e-con {--container-widget-width:100%;--widgets-spacing:0px;gap:0!important;}
.rf-page>.e-con-inner {width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;gap:0!important;}
.rf-page .elementor-widget {margin:0!important;min-width:0;}
.rf-page .elementor-widget-heading .elementor-heading-title {color:var(--rf-black)!important;font-family:var(--rf-body)!important;font-weight:900!important;line-height:1!important;letter-spacing:-.045em!important;}
.rf-page .elementor-widget-text-editor {color:var(--rf-black)!important;font-family:var(--rf-body)!important;line-height:1.25!important;}
.rf-page p {margin:0!important;}
.rf-page a {color:inherit!important;text-decoration:none;}
.rf-page .elementor-button,.rf-page .elementor-button:hover,.rf-page .elementor-button:focus {
 background:transparent!important;color:var(--rf-black)!important;border:0!important;border-radius:0!important;
 box-shadow:none!important;padding:0!important;font-family:var(--rf-body)!important;font-weight:400!important;line-height:1.25!important;
}
.rf-page .rf-red .elementor-heading-title {color:var(--rf-red)!important;}
.rf-page .rf-link .elementor-button {font-size:20px!important;border-bottom:2px solid var(--rf-black)!important;padding-bottom:4px!important;}
.rf-page a:focus-visible {outline:3px solid var(--rf-red);outline-offset:4px;}
.rf-header {display:flex!important;flex-direction:row!important;align-items:center!important;gap:20px!important;padding:21px 0!important;border-bottom:1px solid var(--rf-line);}
.rf-page .rf-logo {width:auto!important;flex-shrink:0;}
.rf-page .rf-logo .elementor-heading-title {font-size:36px!important;letter-spacing:-2px!important;white-space:nowrap;}
.rf-page .rf-tagline {width:140px!important;font:12px/1.1 var(--rf-mono)!important;}
.rf-nav {display:flex!important;flex-direction:row!important;justify-content:space-around!important;align-items:center!important;flex:1!important;width:auto!important;border-left:1px solid var(--rf-line);border-right:1px solid var(--rf-line);padding:12px 24px!important;gap:22px!important;}
.rf-page .rf-nav-link {width:auto!important;}
.rf-page .rf-nav-link .elementor-button {font-size:14px!important;border-bottom:1px solid var(--rf-black)!important;padding-bottom:3px!important;}
.rf-page .rf-location {width:180px!important;font:12px/1.2 var(--rf-mono)!important;text-align:center;}
.rf-page .rf-header-cta {width:auto!important;border-left:1px solid var(--rf-line);padding-left:22px!important;}
.rf-page .rf-header-cta .elementor-button {font-size:16px!important;white-space:nowrap;}
.rf-section {position:relative!important;border-bottom:1px solid var(--rf-line);}
.rf-section:before {content:'';position:absolute;left:17px;top:53px;bottom:18px;width:1px;background:var(--rf-line);pointer-events:none;}
.rf-page .rf-index {position:absolute!important;left:0!important;top:24px!important;width:auto!important;max-width:30px;z-index:10;font:13px/1 var(--rf-mono)!important;}
.rf-hero {display:block!important;min-height:930px!important;height:auto!important;padding:50px 0 35px 60px!important;overflow:hidden;}
.rf-hero-title {position:relative!important;z-index:4;width:56%!important;display:flex!important;flex-direction:column!important;}
.rf-page .rf-hero-word {width:100%!important;}
.rf-page .rf-hero-word .elementor-heading-title {font-family:var(--rf-display)!important;font-size:clamp(100px,17.7cqw,252px)!important;font-weight:400!important;line-height:.89!important;letter-spacing:-.025em!important;white-space:nowrap;}
.rf-hero-info {position:relative;z-index:5;width:35%!important;margin-top:32px!important;gap:28px!important;}
.rf-page .rf-intro {font-size:20px!important;line-height:1.22!important;}
.rf-page .rf-meta {font:13px/1.45 var(--rf-mono)!important;}
.rf-main-art {position:absolute!important;left:50%!important;top:34px!important;width:40%!important;height:780px!important;z-index:1;}
.rf-page .rf-main-photo img {width:100%!important;height:780px!important;max-width:100%!important;object-fit:cover!important;object-position:center!important;display:block;}
.rf-main-art:before,.rf-main-art:after {content:'+';position:absolute;z-index:5;color:#8c8982;font:28px var(--rf-mono);left:-22px;top:-21px;}
.rf-main-art:after {left:auto;right:-22px;top:auto;bottom:-21px;}
.rf-page .rf-image-caption {position:absolute!important;top:20px!important;left:20px!important;width:auto!important;font:13px/1.4 var(--rf-mono)!important;color:#fff!important;z-index:2;}
.rf-page .rf-side-art {position:absolute!important;right:-2%!important;top:290px!important;width:8%!important;height:525px!important;z-index:0;}
.rf-page .rf-side-art img {width:100%!important;height:525px!important;object-fit:cover!important;display:block;}
.rf-page .rf-cutout {position:absolute!important;left:46%!important;bottom:0!important;width:25%!important;height:285px!important;z-index:6;}
.rf-page .rf-cutout img {width:100%!important;height:285px!important;object-fit:contain!important;display:block;}
.rf-page .rf-figure {position:absolute!important;left:39%!important;bottom:170px!important;width:auto!important;font:italic 19px Georgia,serif!important;z-index:7;}
.rf-page .rf-coordinates {position:absolute!important;right:6%!important;bottom:65px!important;width:auto!important;font:12px/1.4 var(--rf-mono)!important;}
.rf-studio {display:flex!important;flex-direction:column!important;padding:42px 20px 30px 60px!important;gap:30px!important;}
.rf-studio-copy {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:40px!important;}
.rf-page .rf-statement {width:76%!important;}
.rf-page .rf-statement .elementor-heading-title {font-size:clamp(36px,4.65cqw,68px)!important;line-height:1.02!important;letter-spacing:-.035em!important;}
.rf-page .rf-about {width:21%!important;font-size:20px!important;}
.rf-services {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px!important;}
.rf-service {display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;}
.rf-service:after {content:'';flex:1;min-width:15px;height:1px;background:var(--rf-black);}
.rf-page .rf-service-no {width:auto!important;font:28px var(--rf-display)!important;}
.rf-page .rf-service-name {width:auto!important;font:13px var(--rf-mono)!important;white-space:nowrap;}
.rf-service:last-child:after {height:auto;content:'⟶';background:none;font-size:26px;line-height:1;text-align:right;}
.rf-work {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;padding:0 0 0 46px!important;}
.rf-work:before {top:53px;bottom:15px;}
.rf-card {position:relative!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:26px 24px 35px!important;min-height:455px!important;overflow:hidden;}
.rf-card-2 {background:var(--rf-blue)!important;}
.rf-card-4 {background:var(--rf-yellow)!important;}
.rf-page .rf-work-label {font:11px var(--rf-mono)!important;margin-bottom:15px!important;}
.rf-page .rf-project-no {font:34px/1 var(--rf-display)!important;color:#777!important;}
.rf-page .rf-project-title .elementor-heading-title {font:400 64px/.98 var(--rf-display)!important;letter-spacing:-.02em!important;}
.rf-page .rf-project-meta {position:relative;z-index:2;font:12px/1.35 var(--rf-mono)!important;margin-top:10px!important;}
.rf-page .rf-project-image {margin-top:24px!important;width:100%!important;}
.rf-page .rf-project-image img {display:block;width:100%!important;height:235px!important;object-fit:contain!important;}
.rf-page .rf-card-1 .rf-project-image {margin-top:18px!important;}
.rf-page .rf-card-1 .rf-project-image img {object-fit:cover!important;}
.rf-page .rf-project-arrow {position:absolute!important;bottom:12px!important;left:24px!important;width:auto!important;}
.rf-page .rf-project-arrow .elementor-button {font-size:32px!important;}
.rf-strip {position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;background:#080808!important;padding:28px 32px 28px 60px!important;}
.rf-strip .rf-index {color:#ddd!important;top:15px!important;left:5px!important;}
.rf-page .rf-strip-word {width:auto!important;flex-shrink:0;}
.rf-page .rf-strip-word .elementor-heading-title {font:italic 400 76px/1 var(--rf-display)!important;color:#bcbcbc!important;letter-spacing:-.01em!important;}
.rf-page .rf-yellow .elementor-heading-title {color:var(--rf-yellow)!important;}
.rf-strip-line {width:auto!important;flex:1!important;height:1px;min-height:1px!important;background:#777;}
.rf-page .rf-strip-note {width:125px!important;font:11px/1.25 var(--rf-mono)!important;color:#eee!important;flex-shrink:0;}
.rf-contact {display:flex!important;flex-direction:row!important;align-items:center!important;padding:25px 0 0 60px!important;gap:55px!important;min-height:240px;}
.rf-page .rf-footer-image {width:22%!important;align-self:stretch;}
.rf-page .rf-footer-image img {display:block;width:100%!important;height:240px!important;object-fit:cover!important;object-position:center top!important;filter:grayscale(1);}
.rf-contact-copy {width:51%!important;display:flex!important;flex-direction:column!important;gap:0!important;}
.rf-page .rf-contact-title .elementor-heading-title {font-size:41px!important;line-height:1.02!important;}
.rf-page .rf-contact-copy .rf-link {margin-top:22px!important;}
.rf-contact-right {width:23%!important;border-left:1px solid var(--rf-line);padding:20px 0 20px 25px!important;}
.rf-page .rf-contact-details {font:12px/1.4 var(--rf-mono)!important;border-bottom:1px solid var(--rf-line);padding-bottom:14px!important;margin-bottom:14px!important;}
.rf-page .rf-social .elementor-button {font:12px/1.5 var(--rf-mono)!important;}
@media(max-width:1100px){
 .rf-page .rf-logo .elementor-heading-title{font-size:27px!important;}
 .rf-page .rf-tagline{font-size:10px!important;width:100px!important;}
 .rf-page .rf-location{width:135px!important;font-size:10px!important;}
 .rf-header{gap:12px!important;}
 .rf-nav{gap:16px!important;padding:10px 16px!important;}
 .rf-page .rf-header-cta{padding-left:12px!important;}
 .rf-page .rf-header-cta .elementor-button{font-size:13px!important;}
 .rf-hero{min-height:700px!important;padding-left:40px!important;}
 .rf-main-art,.rf-page .rf-main-photo img{height:550px!important;}
 .rf-page .rf-side-art,.rf-page .rf-side-art img{height:365px!important;}
 .rf-page .rf-side-art{top:218px!important;}
 .rf-page .rf-cutout,.rf-page .rf-cutout img{height:215px!important;}
 .rf-hero-info{margin-top:24px!important;gap:20px!important;}
 .rf-page .rf-intro{font-size:16px!important;}
 .rf-page .rf-link .elementor-button{font-size:16px!important;}
 .rf-page .rf-about{font-size:16px!important;}
 .rf-studio{padding-left:40px!important;}
 .rf-page .rf-service-name{font-size:11px!important;}
 .rf-services{gap:16px!important;}
 .rf-card{padding:22px 15px 35px!important;min-height:390px!important;}
 .rf-page .rf-project-title .elementor-heading-title{font-size:50px!important;}
 .rf-page .rf-project-meta{font-size:10px!important;}
 .rf-page .rf-project-image img{height:195px!important;}
 .rf-page .rf-strip-word .elementor-heading-title{font-size:54px!important;}
 .rf-strip{gap:16px!important;}
 .rf-page .rf-strip-note{width:100px!important;font-size:9px!important;}
 .rf-contact{gap:25px!important;padding-left:40px!important;}
 .rf-page .rf-contact-title .elementor-heading-title{font-size:30px!important;}
 .rf-page .rf-contact-details{font-size:10px!important;}
}
@media(max-width:767px){
 .rf-page{padding:0 14px!important;}
 .rf-header{flex-wrap:wrap!important;padding:16px 0!important;}
 .rf-page .rf-logo .elementor-heading-title{font-size:26px!important;}
 .rf-page .rf-tagline,.rf-page .rf-location{display:none!important;}
 .rf-page .rf-header-cta{margin-left:auto!important;border-left:0;padding-left:0!important;}
 .rf-nav{order:3;width:100%!important;flex-basis:100%!important;border:0;padding:8px 0 0!important;justify-content:flex-start!important;gap:25px!important;}
 .rf-page .rf-nav-link .elementor-button{font-size:12px!important;}
 .rf-section:before{left:7px;}
 .rf-page .rf-index{font-size:10px!important;top:18px!important;}
 .rf-hero{padding:30px 0 20px 24px!important;min-height:0!important;overflow:visible;}
 .rf-hero-title{width:100%!important;}
 .rf-page .rf-hero-word .elementor-heading-title{font-size:24cqw!important;}
 .rf-main-art{position:relative!important;left:auto!important;top:auto!important;width:86%!important;height:410px!important;margin-top:28px!important;}
 .rf-page .rf-main-photo img{height:410px!important;}
 .rf-hero-info{width:100%!important;margin-top:25px!important;gap:18px!important;}
 .rf-page .rf-intro{font-size:16px!important;}
 .rf-page .rf-meta{font-size:10px!important;}
 .rf-page .rf-image-caption{font-size:10px!important;left:12px!important;top:12px!important;}
 .rf-page .rf-side-art{top:auto!important;bottom:20px!important;right:0!important;width:9%!important;height:250px!important;}
 .rf-page .rf-side-art img{height:250px!important;}
 .rf-page .rf-cutout{left:auto!important;right:20px!important;bottom:7px!important;width:39%!important;height:160px!important;}
 .rf-page .rf-cutout img{height:160px!important;}
 .rf-page .rf-figure,.rf-page .rf-coordinates{display:none!important;}
 .rf-studio{padding:30px 0 25px 24px!important;gap:22px!important;}
 .rf-studio-copy{flex-direction:column!important;align-items:flex-start!important;gap:20px!important;}
 .rf-page .rf-statement,.rf-page .rf-about{width:100%!important;}
 .rf-page .rf-statement .elementor-heading-title{font-size:30px!important;}
 .rf-page .rf-about br{display:none;}
 .rf-services{grid-template-columns:1fr 1fr;gap:15px!important;}
 .rf-service{gap:8px!important;}
 .rf-page .rf-service-no{font-size:24px!important;}
 .rf-page .rf-service-name{font-size:10px!important;}
 .rf-work{grid-template-columns:1fr 1fr;padding-left:24px!important;}
 .rf-card{min-height:360px!important;padding:20px 12px 35px!important;}
 .rf-page .rf-work-label{font-size:8px!important;}
 .rf-page .rf-project-title .elementor-heading-title{font-size:44px!important;}
 .rf-page .rf-project-no{font-size:26px!important;}
 .rf-page .rf-project-meta{font-size:9px!important;}
 .rf-page .rf-project-image img{height:180px!important;}
 .rf-page .rf-project-arrow{left:12px!important;}
 .rf-strip{flex-wrap:wrap!important;gap:10px!important;padding:27px 14px 22px 24px!important;}
 .rf-page .rf-strip-word .elementor-heading-title{font-size:34px!important;}
 .rf-strip-line{min-width:5px;}
 .rf-page .rf-strip-note{width:100%!important;margin-top:12px!important;font-size:10px!important;}
 .rf-contact{flex-wrap:wrap!important;gap:16px!important;padding:25px 0 0 24px!important;}
 .rf-page .rf-footer-image{width:30%!important;}
 .rf-page .rf-footer-image img{height:150px!important;}
 .rf-contact-copy{width:calc(70% - 16px)!important;}
 .rf-page .rf-contact-title .elementor-heading-title{font-size:22px!important;}
 .rf-page .rf-contact-copy .rf-link{margin-top:15px!important;}
 .rf-contact-right{width:100%!important;border-left:0;border-top:1px solid var(--rf-line);padding:20px 0!important;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
