/* Ruiz Video & Fotografía — brand colors: #DE9338, #393939, #FFFFFF. */
@font-face{font-family:"Comfortaa";src:url("../fonts/Comfortaa-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Comfortaa";src:url("../fonts/Comfortaa-Light.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Comfortaa";src:url("../fonts/Comfortaa-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Sansation";src:url("../fonts/Sansation-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Sansation";src:url("../fonts/Sansation-Light.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Sansation";src:url("../fonts/Sansation-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Sansation";src:url("../fonts/Sansation-Italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Sansation";src:url("../fonts/Sansation-LightItalic.woff2") format("woff2");font-style:italic;font-weight:300;font-display:swap}
@font-face{font-family:"Sansation";src:url("../fonts/Sansation-BoldItalic.woff2") format("woff2");font-style:italic;font-weight:700;font-display:swap}

:root{--rvf-orange:#DE9338;--rvf-charcoal:#393939;--rvf-black:#222222;--rvf-white:#FFFFFF;--rvf-gray:#858585;--rvf-light-gray:#D1D1D1;--rvf-max:1720px;--rvf-shell:calc(100% - clamp(36px,8.2vw,156px));--rvf-ease:cubic-bezier(.22,.61,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--rvf-white);color:var(--rvf-charcoal);font-family:"Sansation",Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,button,input,textarea,select{font-family:"Sansation",Arial,sans-serif}
img,video{max-width:100%;height:auto}
img{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid var(--rvf-orange);outline-offset:4px}
::selection{color:#fff;background:var(--rvf-orange)}
.page-shell{width:var(--rvf-shell);max-width:var(--rvf-max);margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;padding:.7rem 1rem;background:#fff;color:#222;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}

/* Header */
.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;color:#fff}
.site-header--inner{position:relative;color:var(--rvf-charcoal);background:#fff;border-bottom:1px solid rgba(57,57,57,.08)}
.site-header__inner{width:var(--rvf-shell);max-width:var(--rvf-max);min-height:88px;margin:auto;display:flex;align-items:center;gap:clamp(18px,3vw,54px)}
.brand{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0}
.brand__isotipo{width:39px;height:45px;object-fit:contain;object-position:center}
.brand__name{font-family:"Comfortaa",sans-serif;font-weight:400;font-size:clamp(13px,1.1vw,19px);letter-spacing:-.045em;white-space:nowrap}
.primary-navigation{margin-left:auto}
.primary-navigation .menu{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,48px);list-style:none;padding:0;margin:0}
.primary-navigation .menu-item{margin:0;padding:0}
.primary-navigation .menu-item a{position:relative;display:inline-flex;align-items:center;min-height:48px;font-size:15px;font-weight:400;transition:color .2s ease}
.primary-navigation .menu-item a::after{content:"";position:absolute;bottom:5px;left:0;width:100%;height:2px;background:var(--rvf-orange);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--rvf-ease)}
.primary-navigation .menu-item a:hover,.primary-navigation .current-menu-item>a{color:var(--rvf-orange)}
.primary-navigation .menu-item a:hover::after,.primary-navigation .current-menu-item>a::after{transform:scaleX(1)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:15px;margin-left:clamp(6px,1vw,18px);padding:11px 24px;min-width:172px;border:1.5px solid var(--rvf-orange);border-radius:999px;color:var(--rvf-orange);text-transform:uppercase;letter-spacing:.12em;font-size:13px;transition:background .2s ease,color .2s ease,border-color .2s ease}
.header-cta:hover{color:#fff;background:var(--rvf-orange)}
.arrow{font-size:18px;line-height:1}
.menu-toggle{display:none}

/* Cinematic hero */
.hero{position:relative;isolation:isolate;min-height:560px;height:min(74vh,760px);max-height:860px;overflow:hidden;background:#242424;color:#fff}
.hero__media,.hero__poster,.hero__video,.hero__shade{position:absolute;inset:0;width:100%;height:100%}
.hero__media{z-index:-1;overflow:hidden;background:#242424}
.hero__poster{object-fit:cover;object-position:center 48%;transition:opacity .5s ease}
.hero__video{display:none;opacity:0;object-fit:cover;object-position:center center;background:#242424;transition:opacity .45s ease}
.hero.has-video .hero__video{display:block}
.hero.has-video .hero__poster{opacity:1}
.hero.has-video.is-playing .hero__poster{opacity:0}
.hero.has-video.is-playing .hero__video{opacity:1}
.hero__shade{pointer-events:none;background:linear-gradient(90deg,rgba(12,12,12,.84) 0%,rgba(18,18,18,.66) 23%,rgba(18,18,18,.22) 51%,rgba(18,18,18,.06) 100%),linear-gradient(0deg,rgba(0,0,0,.20),transparent 25%)}
.hero__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:inherit;height:100%;padding-top:82px;padding-bottom:54px}
.hero__kicker{margin:0 0 18px;font-size:clamp(10px,.76vw,14px);font-weight:400;letter-spacing:.22em;line-height:1.5;text-transform:uppercase;color:#f5f5f5}
.hero__title{max-width:720px;margin:0;font-family:"Comfortaa",sans-serif;font-size:clamp(38px,4.05vw,71px);line-height:1.12;font-weight:300;letter-spacing:-.055em;text-wrap:balance}
.hero__title>span{display:block}
.hero__title-accent,.hero__title .period{color:var(--rvf-orange)}
.hero-controls{position:absolute;right:clamp(28px,4.8vw,84px);bottom:30px;z-index:5;display:flex;align-items:center;gap:22px;color:#fff}
.hero-controls__steps{display:flex;align-items:center;gap:15px}
.hero-controls__step{padding:4px 0;border:0;background:transparent;color:rgba(255,255,255,.78);font-size:12px;letter-spacing:.09em;cursor:pointer;transition:color .2s ease}
.hero-controls__step:hover,.hero-controls__step.is-active{color:var(--rvf-orange)}
.hero-controls__line{width:44px;height:2px;background:var(--rvf-orange)}
.hero-controls__toggle{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.95);border-radius:50%;background:rgba(20,20,20,.08);color:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.hero-controls__toggle:hover{background:var(--rvf-orange);border-color:var(--rvf-orange)}
.hero-controls__toggle .icon-play{display:none;font-size:12px;margin-left:2px}
.hero-controls__toggle[aria-pressed="true"] .icon-pause{display:none}
.hero-controls__toggle[aria-pressed="true"] .icon-play{display:block}
.hero-scroll{position:absolute;bottom:0;left:50%;width:1px;height:24px;opacity:.5;transform:translateX(-50%);overflow:hidden}
.hero-scroll span{display:block;width:1px;height:100%;background:#fff;animation:rvf-scroll 1.6s ease-in-out infinite}
@keyframes rvf-scroll{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}

/* Service-category image strip */
.service-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#222;color:#fff}
.anchor-alias{position:absolute;top:0;left:0;scroll-margin-top:85px}
.service-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-width:0;min-height:275px;overflow:hidden;background:#262626;border-right:1px solid rgba(255,255,255,.7)}
.service-card:last-child{border-right:0}
.service-card__image,.service-card__shade{position:absolute;inset:0;z-index:-1}
.service-card__image{background-size:cover;background-position:center;transition:transform .75s var(--rvf-ease),filter .45s ease}
.service-card:hover .service-card__image{transform:scale(1.045);filter:saturate(1.05)}
.service-card__shade{background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.10) 28%,rgba(0,0,0,.82) 100%)}
.service-card__content{width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding:28px clamp(18px,2.2vw,40px) 24px}
.service-card__number{margin:0 0 8px;color:rgba(255,255,255,.74);font-size:10px;letter-spacing:.15em}
.service-card h2{margin:0 0 8px;font-family:"Comfortaa",sans-serif;font-weight:400;font-size:clamp(16px,1.4vw,23px);line-height:1.25;letter-spacing:-.04em}
.service-card__description{max-width:260px;margin:0;color:rgba(255,255,255,.9);font-size:11px;letter-spacing:.05em;line-height:1.5;text-transform:uppercase}
.service-card__link{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;margin-bottom:5px;border:1px solid rgba(255,255,255,.95);border-radius:50%;font-size:22px;line-height:1;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.service-card__link:hover{background:var(--rvf-orange);border-color:var(--rvf-orange);color:#fff;transform:rotate(45deg)}

/* Our essence */
.essence-section{background:#fff;color:var(--rvf-charcoal);padding:clamp(54px,6vw,92px) 0 clamp(58px,6.5vw,100px)}
.essence-section__inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,104px)}
.section-eyebrow{margin:0 0 14px;color:#777;font-size:11px;letter-spacing:.2em;line-height:1.5;text-transform:uppercase}
.essence-copy h2,.contact-section h2{margin:0;font-family:"Comfortaa",sans-serif;font-size:clamp(30px,2.45vw,44px);line-height:1.26;font-weight:300;letter-spacing:-.055em}
.essence-copy h2 span,.contact-section h2 span{color:var(--rvf-orange)}
.essence-copy__body{max-width:590px;margin:18px 0 0;color:#777;font-size:16px;line-height:1.6}
.essence-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid #d7d7d7}
.essence-pillar{min-width:0;padding:8px clamp(12px,1.55vw,26px);border-right:1px solid #d7d7d7;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.essence-pillar span{color:var(--rvf-orange);font-family:"Comfortaa",sans-serif;font-size:clamp(26px,2.2vw,38px);line-height:1.1;font-weight:300}
.essence-pillar strong{font-size:15px;font-weight:700}
.essence-pillar small{color:#777;font-size:12px;line-height:1.45}

/* Contact section and footer */
.contact-section{background:#292929;color:#fff;padding:clamp(50px,6.3vw,90px) 0}
.contact-section__inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.section-eyebrow--light{color:#b9b9b9}
.contact-section h2{font-size:clamp(32px,3vw,51px)}
.contact-section__text{margin:15px 0 0;color:#c9c9c9;font-size:16px}
.contact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.contact-action{display:inline-flex;align-items:center;gap:18px;padding:13px 19px;border:1px solid rgba(255,255,255,.42);border-radius:999px;color:#fff;font-size:14px;transition:background .2s ease,border-color .2s ease}
.contact-action:hover{background:rgba(255,255,255,.08);border-color:#fff}
.contact-action--primary{border-color:var(--rvf-orange);background:var(--rvf-orange);color:#231f1a}
.contact-action--primary:hover{background:#efaa52;border-color:#efaa52}
.site-footer{background:#1e1e1e;color:#fff;padding:36px 0 23px}
.site-footer__inner{width:var(--rvf-shell);max-width:var(--rvf-max);margin:auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 28px}
.footer-brand{font-family:"Comfortaa",sans-serif;font-size:18px;letter-spacing:-.04em}
.footer-brand span{color:var(--rvf-orange)}
.footer-note{grid-column:1;margin:0;color:#a7a7a7;font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.footer-links{grid-column:2;grid-row:1 / span 2;display:flex;gap:24px;align-items:center}
.footer-links a{font-size:13px;color:#dadada;transition:color .2s ease}
.footer-links a span{color:var(--rvf-orange)}
.footer-links a:hover{color:var(--rvf-orange)}
.copyright{grid-column:1/-1;margin:24px 0 0;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);color:#929292;font-size:11px}

/* Interior pages / content fallbacks */
.content-page{min-height:55vh;padding-top:clamp(60px,7vw,105px);padding-bottom:clamp(60px,7vw,105px)}
.entry-header{margin-bottom:35px}
.entry-title{max-width:1000px;margin:0;font-family:"Comfortaa",sans-serif;font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-.055em;line-height:1.15}
.entry-content{max-width:900px;font-size:17px;line-height:1.8}
.entry-content h2,.entry-content h3{font-family:"Comfortaa",sans-serif;line-height:1.25}
.entry-content img,.entry-featured-image img{height:auto;border-radius:3px}
.entry-featured-image{margin:0 0 35px}
.post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.post-card__image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.post-card__date{color:#858585;font-size:12px}
.post-card h2{font-family:"Comfortaa",sans-serif;font-size:23px;line-height:1.3}
.post-card h2 a:hover{color:var(--rvf-orange)}
.navigation.pagination{margin-top:40px}

/* Admin-only reminder for replacing reference media */
.rvf-admin-notice{position:relative;z-index:50;padding:8px 14px;background:#fff2d8;color:#5a3b0c;border-top:1px solid #e6c586;font-size:12px;text-align:center}

@media (min-width:1600px){.hero__title{font-size:76px}.service-card{min-height:310px}}
@media (max-width:1100px){:root{--rvf-shell:calc(100% - 56px)}.site-header__inner{min-height:78px;gap:20px}.brand__name{font-size:14px}.brand__isotipo{width:34px;height:41px}.primary-navigation .menu{gap:20px}.primary-navigation .menu-item a{font-size:14px}.header-cta{min-width:143px;padding:10px 17px;font-size:12px}.hero{height:min(72vh,690px);min-height:540px}.service-card{min-height:245px}.service-card__content{padding:23px 18px 20px;gap:10px}.service-card__link{width:37px;height:37px;flex-basis:37px}.service-card__description{font-size:10px}.essence-section__inner{gap:38px}.essence-pillar small{font-size:11px}}
@media (max-width:820px){:root{--rvf-shell:calc(100% - 40px)}.site-header__inner{min-height:76px;gap:15px}.brand{gap:8px}.brand__isotipo{width:31px;height:38px}.brand__name{font-size:13px}.menu-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-left:auto;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.08);color:inherit;cursor:pointer}.site-header--inner .menu-toggle{border-color:#ddd}.menu-toggle__bars{display:flex;flex-direction:column;gap:5px}.menu-toggle__bars span{display:block;width:16px;height:1.5px;background:currentColor;transition:transform .2s ease}.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.primary-navigation{position:absolute;top:76px;left:0;right:0;display:none;margin:0;padding:10px 20px 18px;background:#292929;color:#fff;box-shadow:0 15px 25px rgba(0,0,0,.2)}.site-header--inner .primary-navigation{background:#fff;color:var(--rvf-charcoal)}.primary-navigation.is-open{display:block}.primary-navigation .menu{display:flex;flex-direction:column;align-items:stretch;gap:0}.primary-navigation .menu-item a{display:flex;min-height:44px;padding:0 5px;border-bottom:1px solid rgba(255,255,255,.12)}.site-header--inner .primary-navigation .menu-item a{border-color:rgba(57,57,57,.1)}.primary-navigation .menu-item a::after{display:none}.header-cta{min-width:auto;margin-left:0;padding:10px 14px;gap:8px;font-size:11px;letter-spacing:.08em}.hero{height:620px;min-height:580px;max-height:76svh}.hero__content{padding-top:92px;padding-bottom:75px}.hero__title{max-width:560px;font-size:clamp(39px,7vw,62px)}.hero__kicker{letter-spacing:.16em}.hero__shade{background:linear-gradient(90deg,rgba(12,12,12,.84) 0%,rgba(18,18,18,.63) 48%,rgba(18,18,18,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.22),transparent 30%)}.hero-controls{right:20px;bottom:19px;gap:12px}.hero-controls__steps{gap:10px}.hero-controls__line{width:25px}.hero-controls__toggle{width:36px;height:36px}.hero-scroll{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:260px}.service-card__content{padding:22px 20px;gap:14px}.service-card h2{font-size:20px}.service-card__description{font-size:10px}.essence-section__inner{grid-template-columns:1fr;gap:34px}.essence-pillars{border-top:1px solid #d7d7d7;padding-top:22px}.contact-section__inner{align-items:flex-start;flex-direction:column;gap:30px}.contact-actions{justify-content:flex-start}.site-footer__inner{grid-template-columns:1fr;gap:10px}.footer-links,.footer-note,.copyright{grid-column:1;grid-row:auto}.footer-links{flex-wrap:wrap;margin-top:10px}.copyright{margin-top:12px}.post-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){:root{--rvf-shell:calc(100% - 32px)}.site-header__inner{min-height:70px;gap:10px}.brand__isotipo{width:29px;height:34px}.brand__name{max-width:138px;font-size:11px;white-space:normal;line-height:1.25}.menu-toggle{width:37px;height:37px;flex:0 0 37px}.header-cta{padding:9px 11px;font-size:10px}.header-cta .arrow{font-size:15px}.primary-navigation{top:70px}.hero{height:590px;min-height:550px;max-height:82svh}.hero__poster,.hero__video{object-position:58% center}.hero__shade{background:linear-gradient(90deg,rgba(9,9,9,.84) 0%,rgba(12,12,12,.70) 53%,rgba(12,12,12,.25) 100%),linear-gradient(0deg,rgba(0,0,0,.26),transparent 30%)}.hero__content{padding-top:85px;padding-bottom:85px}.hero__kicker{max-width:280px;margin-bottom:18px;font-size:10px;letter-spacing:.12em}.hero__title{max-width:400px;font-size:clamp(36px,10.8vw,50px);line-height:1.15}.hero-controls{right:16px;bottom:17px;gap:10px}.hero-controls__steps{gap:9px}.hero-controls__step{font-size:11px}.hero-controls__line{width:22px}.hero-controls__toggle{width:34px;height:34px}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px;border-right:0;border-bottom:1px solid rgba(255,255,255,.6)}.service-card__content{padding:22px 22px}.service-card h2{font-size:23px}.service-card__description{max-width:250px;font-size:10px}.essence-section{padding:52px 0 56px}.essence-copy h2{font-size:31px}.essence-copy__body{font-size:15px}.essence-pillars{gap:0}.essence-pillar{padding:7px 10px}.essence-pillar span{font-size:27px}.essence-pillar strong{font-size:12px}.essence-pillar small{font-size:10px}.contact-section{padding:50px 0}.contact-section h2{font-size:34px}.contact-section__text{font-size:15px}.contact-actions{gap:8px}.contact-action{padding:11px 14px;font-size:13px}.footer-links{gap:17px}.post-list{grid-template-columns:1fr}.content-page{padding-top:52px;padding-bottom:52px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-scroll{display:none}}
