/*
Theme Name: Rovay CMS
Theme URI: https://rovay.co.ke/
Author: Rovay
Description: A fast, editorial WordPress theme for Rovay Image & Style Agency.
Version: 1.0.0
Text Domain: rovay
*/

:root { --ink:#11100e; --paper:#f3efe6; --gold:#d8ab45; --lime:#d7ea5f; --line:rgba(17,16,14,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; } img { display:block; width:100%; } button { font:inherit; }
.site-header { position:absolute; z-index:20; top:0; left:0; width:100%; height:88px; padding:0 4vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:white; border-bottom:1px solid rgba(255,255,255,.34); }
.brand { display:flex; align-items:center; }
.brand img { width:106px; height:58px; object-fit:contain; object-position:left center; }
.desktop-nav { display:flex; gap:34px; font-size:12px; text-transform:uppercase; letter-spacing:.13em; }
.desktop-nav a { opacity:.82; transition:opacity .2s; }.desktop-nav a:hover { opacity:1; }
.header-cta { justify-self:end; display:flex; align-items:center; gap:8px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.menu-button,.mobile-nav { display:none; }
.hero { min-height:760px; height:100svh; position:relative; color:white; overflow:hidden; background:#1b1a17; }
.hero-images,.hero-image,.hero-wash { position:absolute; inset:0; }
.hero-image { background-size:cover; opacity:0; transform:scale(1.025); transition:opacity 1.5s ease,transform 7s ease; }
.hero-image.active { opacity:1; transform:scale(1); }
.hero-wash { background:linear-gradient(90deg,rgba(5,5,4,.78) 0%,rgba(5,5,4,.39) 51%,rgba(5,5,4,.08)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 48%); }
.hero-content { position:relative; height:100%; z-index:2; padding:148px 4vw 58px; display:flex; flex-direction:column; justify-content:space-between; }
.eyebrow,.section-label { font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow::before,.section-label::before { content:''; display:inline-block; width:28px; height:1px; background:currentColor; vertical-align:middle; margin-right:12px; }
.hero h1 { margin:0; max-width:930px; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(58px,8vw,118px); line-height:.85; letter-spacing:-.055em; }
.hero h1 em,.contact h2 em { color:var(--gold); font-weight:400; }
.hero-bottom { display:flex; align-items:end; justify-content:space-between; }
.hero-bottom p { max-width:390px; margin:0 0 6px; font-family:Georgia,serif; font-size:20px; line-height:1.4; }
.round-link { width:64px; height:64px; border:1px solid rgba(255,255,255,.6); border-radius:50%; display:grid; place-items:center; transition:background .2s,color .2s; }
.round-link:hover { background:white; color:var(--ink); }
.hero-progress { position:absolute; z-index:3; right:4vw; bottom:146px; display:flex; gap:6px; }
.hero-progress button { border:0; padding:0; width:26px; height:2px; background:rgba(255,255,255,.45); cursor:pointer; }.hero-progress button.active { background:white; }
.section-shell { padding:120px 6vw; }
[data-reveal] { opacity:0; transform:translateY(25px); transition:opacity .7s ease,transform .7s ease; } [data-reveal].is-visible { opacity:1; transform:none; }
.intro { display:grid; grid-template-columns:1fr 2.2fr; gap:5vw; }
.section-label { color:#6d675e; margin:9px 0 0; }
.intro h2,.press h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(45px,6vw,86px); line-height:.98; letter-spacing:-.045em; margin:0; }
.intro-copy { grid-column:2; max-width:650px; margin:25px 0 0; font-size:20px; line-height:1.55; color:#5e584f; }
.pillars { padding-top:20px; }
.pillar { display:grid; grid-template-columns:1.1fr 1fr; border-top:1px solid var(--line); min-height:590px; padding:54px 0; gap:7vw; }
.pillar:nth-child(even) .pillar-image-wrap { order:2; }.pillar:nth-child(even) .pillar-content { order:1; }
.pillar-image-wrap { overflow:hidden; min-height:470px; }.pillar-image { height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }.pillar:hover .pillar-image { transform:scale(1.025); }
.pillar-content { display:flex; flex-direction:column; justify-content:center; }.pillar-number { font-size:12px; color:#756f66; margin-bottom:auto; padding-top:5px; }
.pillar-kicker { font-family:Georgia,serif; font-style:italic; color:#846a2d; font-size:18px; margin:0 0 12px; }
.division-logo { width:150px; height:70px; object-fit:contain; object-position:left center; margin:0 0 22px; }
.pillar h3 { font-family:Georgia,serif; font-size:clamp(42px,5vw,72px); line-height:.95; letter-spacing:-.04em; font-weight:400; margin:0 0 28px; }
.pillar-content>p:not(.pillar-kicker) { max-width:500px; font-size:18px; line-height:1.55; color:#625c53; }
.pillar-footer { margin-top:auto; padding-top:35px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.pillar-footer a { width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.2s}.pillar-footer a:hover{background:var(--ink);color:white}
.rovay-work{background:#f8f5ee;padding:110px 6vw;border-top:1px solid var(--line)}.rovay-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8vw}.rovay-head img{width:min(320px,80%);height:150px;object-fit:contain;object-position:left center}.rovay-head>p{font-family:Georgia,serif;font-size:clamp(30px,4vw,56px);line-height:1.05;letter-spacing:-.035em;margin:0}.brand-list{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:80px 0 70px}.brand-list span{padding:27px 12px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-right:1px solid var(--line)}.brand-list span:last-child{border-right:0}.rovay-services{display:grid;grid-template-columns:1fr repeat(3,1.2fr);gap:35px}.rovay-services h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0 0 14px}.rovay-services div p{font-size:14px;line-height:1.55;color:#6b655c}.rovay-services>a{grid-column:2/5;justify-self:start;margin-top:28px;display:flex;gap:9px;align-items:center;border-bottom:1px solid;padding-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.proof { background:#171612; color:white; display:grid; grid-template-columns:1fr 1.25fr; min-height:820px; }
.proof-image { min-height:700px; overflow:hidden; }.proof-image img { height:100%; object-fit:cover; object-position:center 28%; filter:saturate(.8); }
.proof-content { padding:100px 7vw; display:flex; flex-direction:column; justify-content:center; }.proof .section-label { color:#aaa49a; }
.proof blockquote { font-family:Georgia,serif; font-size:clamp(42px,5vw,75px); line-height:1.02; letter-spacing:-.04em; margin:55px 0 35px; }
.proof-content>p:not(.section-label){max-width:520px;color:#aaa49a;line-height:1.6}
.stats { border-top:1px solid #514e47; margin-top:70px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-top:30px; }
.stats div{display:flex;flex-direction:column;gap:8px}.stats strong{font-family:Georgia,serif;font-size:42px;color:var(--gold);font-weight:400}.stats span{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:#aaa49a}
.recent{display:grid;grid-template-columns:.8fr 2fr;gap:6vw;border-bottom:1px solid var(--line)}.recent-heading h2{font-family:Georgia,serif;font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1;letter-spacing:-.04em;margin:48px 0 0}.recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.recent figure{margin:0;overflow:hidden}.recent figure:first-child{padding-bottom:90px}.recent img{height:620px;object-fit:cover;object-position:center top;transition:transform .7s}.recent figure:hover img{transform:scale(1.018)}.recent figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:14px;color:#6b655c}
.press-heading { display:grid;grid-template-columns:1fr 2.2fr;margin-bottom:70px}.press-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;align-items:end}
.press-card{margin:0;overflow:hidden}.press-card img{height:430px;object-fit:cover;object-position:top;transition:transform .7s}.press-card:hover img{transform:scale(1.018)}.press-tall img{height:620px}.press-card figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:14px;color:#6b655c}
.testimonial{text-align:center;border-top:1px solid var(--line)}.testimonial blockquote{max-width:1000px;margin:55px auto 30px;font-family:Georgia,serif;font-size:clamp(42px,6vw,82px);line-height:1.04;letter-spacing:-.04em}.quote-stage{min-height:390px;display:grid;place-items:center}.quote-slide{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .55s ease}.quote-slide.active{opacity:1;visibility:visible}.quote-slide figcaption{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#756f65}.quote-controls{display:flex;justify-content:center;gap:8px;margin-top:35px}.quote-controls button{border:0;border-top:1px solid #aaa39a;background:transparent;padding:12px 18px;color:#8b857b;font-size:10px;cursor:pointer}.quote-controls button.active{border-top-color:var(--ink);color:var(--ink)}
.contact { background:var(--lime); min-height:700px; padding:110px 6vw 36px; display:flex; flex-direction:column; }.contact h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(62px,10vw,150px);line-height:.84;letter-spacing:-.06em;margin:60px 0}.contact h2 em{color:var(--ink)}
.contact-actions{display:flex;gap:12px;margin-top:auto}.contact-actions a{display:flex;align-items:center;justify-content:space-between;min-width:280px;border-bottom:1px solid var(--ink);padding:16px 0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.contact footer{border-top:1px solid rgba(17,16,14,.25);margin-top:80px;padding-top:28px;display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.contact .brand img{filter:brightness(.2);width:90px;height:52px}
@media (max-width:800px){.site-header{height:70px;grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-button{display:block;background:transparent;border:0;color:white}.mobile-nav{display:none;position:absolute;top:70px;left:0;width:100%;padding:28px 5vw;background:var(--ink);flex-direction:column;gap:22px;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.hero{min-height:680px}.hero-content{padding:125px 5vw 42px}.hero h1{font-size:clamp(54px,16vw,80px)}.hero-bottom p{font-size:16px;max-width:250px}.round-link{width:52px;height:52px}.hero-progress{bottom:110px;right:5vw}.section-shell{padding:80px 5vw}.intro{display:block}.intro .section-label{margin-bottom:40px}.intro-copy{font-size:17px;margin-top:30px}.pillar{grid-template-columns:1fr;min-height:0;gap:30px;padding:35px 0 60px}.pillar:nth-child(even) .pillar-image-wrap,.pillar:nth-child(even) .pillar-content{order:initial}.pillar-image-wrap{min-height:410px}.pillar-number{margin-bottom:45px}.pillar h3{font-size:48px}.proof{grid-template-columns:1fr}.proof-image{min-height:520px}.proof-content{padding:70px 5vw}.stats{grid-template-columns:1fr;gap:30px}.press-heading{display:block}.press-heading .section-label{margin-bottom:38px}.press-grid{grid-template-columns:1fr 1fr}.press-tall{grid-column:span 2}.press-tall img{height:480px}.press-card img{height:330px}.contact{min-height:650px;padding:80px 5vw 28px}.contact h2{margin:50px 0}.contact-actions{flex-direction:column}.contact-actions a{min-width:0}.contact footer{grid-template-columns:1fr;gap:16px;margin-top:60px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,[data-reveal],.pillar-image,.press-card img{transition:none!important;transform:none!important}[data-reveal]{opacity:1}}

@media (max-width:800px){.mobile-nav.open{display:flex}}
@media (max-width:800px){.rovay-work{padding:75px 5vw}.rovay-head{grid-template-columns:1fr;gap:30px}.rovay-head img{height:100px}.brand-list{grid-template-columns:repeat(2,1fr);margin:55px 0}.brand-list span{border-bottom:1px solid var(--line)}.rovay-services{grid-template-columns:1fr;gap:24px}.rovay-services>a{grid-column:1}}
@media (max-width:800px){.recent{grid-template-columns:1fr;gap:50px}.recent-heading h2{margin-top:35px}.recent-grid{gap:10px}.recent figure:first-child{padding-bottom:45px}.recent img{height:440px}}

/* Editable WordPress page system */
.page-site-header{position:relative;background:var(--ink)}.page-site-header li{list-style:none}.editable-page{min-height:60vh}.page-content{overflow:hidden}.page-content>.alignfull{width:100%;margin-left:0;margin-right:0}.page-hero{background:var(--ink);color:white;padding:105px 6vw 95px}.page-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(64px,9vw,128px);line-height:.9;letter-spacing:-.055em;margin:45px 0 0}.home-cover{padding:120px 6vw 70px}.home-cover .wp-block-cover__inner-container{max-width:1050px}.home-cover h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(60px,8vw,116px);line-height:.88;letter-spacing:-.055em;margin:50px 0 35px}.home-cover h1 em{color:var(--gold);font-weight:400}.home-cover .wp-block-cover__inner-container>p:last-child{font-family:Georgia,serif;font-size:20px;max-width:440px;line-height:1.45}.content-section{padding:105px 6vw}.content-section>*{max-width:1180px;margin-left:auto;margin-right:auto}.content-section>h2,.content-section>.wp-block-heading{font-family:Georgia,serif;font-size:clamp(44px,6vw,82px);font-weight:400;line-height:1;letter-spacing:-.045em}.content-section>p{max-width:760px;margin-left:auto;margin-right:auto;font-size:19px;line-height:1.6;color:#625c53}.intro-section{display:grid;grid-template-columns:1fr 2.2fr;gap:5vw}.intro-section>*{margin:0}.intro-section>p:last-child{grid-column:2}.alt-section{background:#e9e3d7}.division-overview>.wp-block-columns{margin-top:65px;gap:18px}.division-overview .wp-block-column{border-top:1px solid var(--line);padding:32px 25px 35px;background:#f8f5ee}.division-overview h3,.alt-section h3{font-family:Georgia,serif;font-size:34px;font-weight:400}.division-overview p,.alt-section p,.content-section li{line-height:1.6;color:#625c53}.wp-block-button__link{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:12px 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.impact-editable{background:#171612;color:white;min-height:720px}.impact-editable .wp-block-media-text__media,.impact-editable .wp-block-media-text__media img{height:100%;min-height:720px;object-fit:cover}.impact-editable .wp-block-media-text__content{padding:80px 7vw}.impact-editable h2{font-family:Georgia,serif;font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1.02}.impact-editable p{color:#b7b0a5;line-height:1.6}.home-cta{background:var(--lime)}.em-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:900px;margin:60px auto 0}.em-contact-form label{display:flex;flex-direction:column;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.em-contact-form input,.em-contact-form select,.em-contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:14px 2px;font:16px Arial;text-transform:none;letter-spacing:0}.em-contact-form textarea{border:1px solid var(--line);padding:14px}.em-contact-form .form-wide{grid-column:1/-1}.em-contact-form button{grid-column:1/-1;justify-self:start;border:1px solid var(--ink);background:var(--ink);color:white;padding:15px 24px;cursor:pointer}.form-honey{position:absolute!important;left:-9999px!important}.form-success{padding:18px;background:#e2f0a0;color:var(--ink)}.site-footer{background:var(--ink);color:white;padding:38px 6vw;display:grid;grid-template-columns:1fr auto auto;gap:45px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.site-footer .brand img{width:90px;height:52px;object-fit:contain}
@media(max-width:800px){.page-hero{padding:80px 5vw 70px}.content-section{padding:75px 5vw}.intro-section{display:block}.intro-section>*{margin-bottom:30px}.home-cover{padding:100px 5vw 55px}.home-cover h1{font-size:clamp(54px,15vw,78px)}.division-overview>.wp-block-columns{display:block}.division-overview .wp-block-column{margin-bottom:18px}.impact-editable{display:block}.impact-editable .wp-block-media-text__media,.impact-editable .wp-block-media-text__media img{min-height:460px;height:460px}.em-contact-form{grid-template-columns:1fr}.em-contact-form .form-wide{grid-column:1}.site-footer{grid-template-columns:1fr;gap:16px}.page-site-header .mobile-nav li{list-style:none}}

/* Rovay client reel */
.client-reel-section{padding:85px 0;background:#171612;color:white;overflow:hidden}.client-reel-section>.wp-block-group__inner-container>.section-label{margin:0 6vw 45px;color:#aaa49a}.client-reel{overflow:hidden;position:relative}.client-reel::before,.client-reel::after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:9vw;pointer-events:none}.client-reel::before{left:0;background:linear-gradient(90deg,#171612,transparent)}.client-reel::after{right:0;background:linear-gradient(-90deg,#171612,transparent)}.client-reel-track>.wp-block-group__inner-container{display:flex;width:max-content;animation:client-drift 32s linear infinite}.client-reel:hover .client-reel-track>.wp-block-group__inner-container,.client-reel:focus-within .client-reel-track>.wp-block-group__inner-container{animation-play-state:paused}.client-reel-set{flex:0 0 auto}.client-reel-set>.wp-block-group__inner-container{display:flex;align-items:center;flex-wrap:nowrap;width:max-content}.client-name{box-sizing:border-box;width:220px;flex:0 0 220px;margin:0;padding:30px 34px;border-right:1px solid #45423c;text-align:center;font-family:Georgia,serif;font-size:21px;white-space:nowrap;color:#eee9df}.client-name::before{content:'Rovay ×';display:block;margin-bottom:8px;font-family:Arial,sans-serif;font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}@keyframes client-drift{to{transform:translateX(-50%)}}@media(max-width:800px){.client-reel-section{padding:65px 0}.client-name{width:180px;flex-basis:180px;padding:25px 20px;font-size:18px}.client-reel-track>.wp-block-group__inner-container{animation-duration:25s}}@media(prefers-reduced-motion:reduce){.client-reel-track>.wp-block-group__inner-container{animation:none;flex-wrap:wrap;width:100%}.client-reel-set>.wp-block-group__inner-container{flex-wrap:wrap;justify-content:center;width:100%}.client-reel-set[aria-hidden="true"]{display:none}.client-name{border-bottom:1px solid #45423c}}
.client-reel{background:#f3efe6}.client-logo-card{box-sizing:border-box;width:260px;height:124px;flex:0 0 260px;margin:0;padding:20px 30px;border-right:1px solid rgba(23,22,18,.16);background:transparent;display:grid;place-items:center}.client-logo-card img{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:82px;object-fit:contain}.client-logo-card img[src*="fairview-hotel"]{mix-blend-mode:multiply}.client-logo-card figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.client-logo-card{width:220px;flex-basis:220px;height:112px;padding:17px 25px}.client-logo-card img{max-height:74px}}

/* Viewport-safe client reel loop */
.client-reel-track>.wp-block-group__inner-container{gap:0;will-change:transform}.client-reel-set>.wp-block-group__inner-container{gap:0}@keyframes client-drift{to{transform:translateX(calc(-1 * var(--client-loop-distance, 2080px)))}}

/* Rovay service and booking sections */
.rovay-service-grid{gap:0!important;margin-top:60px}.rovay-service-grid .wp-block-column{padding:32px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.rovay-service-grid h3{margin-top:0;font-family:Georgia,serif;font-size:30px;font-weight:400}.rovay-service-grid p{color:#625c53;line-height:1.6}.rovay-process-section{background:#171612;color:white}.rovay-process{gap:0!important;margin-top:60px;counter-reset:rovay-step}.rovay-process .wp-block-column{counter-increment:rovay-step;padding:28px 24px;border-top:1px solid rgba(255,255,255,.26)}.rovay-process .wp-block-column::before{content:'0' counter(rovay-step);display:block;margin-bottom:50px;color:var(--gold);font-size:11px;letter-spacing:.16em}.rovay-process h3{font-family:Georgia,serif;font-size:28px;font-weight:400}.rovay-process p{color:#b7b0a5;line-height:1.6}.rovay-contact{background:#c8d2ad}.rovay-contact .wp-block-buttons{margin-top:38px}.rovay-contact .wp-block-button+ .wp-block-button{margin-left:28px}@media(max-width:800px){.rovay-service-grid,.rovay-process{display:block}.rovay-service-grid .wp-block-column,.rovay-process .wp-block-column{margin:0}.rovay-contact .wp-block-button+ .wp-block-button{margin-left:0}}

/* Shared soft closing section */
.home-cta,.rovay-contact{background:#e9e3d7}

/* Standalone Rovay identity */
.rovay-site .site-header .brand img,.rovay-site .site-footer .brand img{filter:invert(1);width:96px;height:60px;object-fit:contain}.rovay-hero{min-height:620px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:90px;background:radial-gradient(circle at 78% 28%,rgba(216,171,69,.16),transparent 30%),#171612}.rovay-hero h1{max-width:1080px}.rovay-site .site-footer{background:#171612}.rovay-site .rovay-contact{background:#e9e3d7}
