:root{--orange:#ed5827;--ink:#171717;--muted:#777;--line:#e6e5e2;--cream:#faf9f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.progress{height:3px;position:fixed;top:0;left:0;background:var(--orange);width:0;z-index:50}.header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:7px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:29px;letter-spacing:-1.8px;line-height:.82}.brand img{width:65px;height:65px;object-fit:contain;transform:scale(1.25)}.brand-sub{display:block;font-size:9px;letter-spacing:5.1px;font-weight:700;margin-top:8px}.header nav{display:flex;gap:34px;align-items:center}.header nav a{font-size:13px;font-weight:700;transition:color .2s}.header nav a:hover{color:var(--orange)}.nav-cta{background:var(--ink);color:#fff;padding:15px 20px;font-size:12px;font-weight:700}.nav-cta span{margin-left:23px;color:var(--orange)}.nav-mobile,.menu-toggle{display:none!important}.hero{min-height:690px;display:grid;grid-template-columns:58% 42%;position:relative;overflow:hidden}.hero-grid,.statement-grid{position:absolute;inset:0;background-image:linear-gradient(#ddd5 1px,transparent 1px),linear-gradient(90deg,#ddd5 1px,transparent 1px);background-size:68px 68px;pointer-events:none}.hero-copy{padding:112px 3% 34px 8.6%;position:relative;z-index:1;display:flex;flex-direction:column}.eyebrow,.section-top,.light-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:14px;white-space:nowrap}.pulse{width:8px;height:8px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 5px #ed58271b}.eyebrow-line{width:32px;height:1px;background:#b8b8b8}.hero h1,.section h2,.statement h2,.contact h2{font-family:'Space Grotesk',sans-serif;letter-spacing:-.065em;font-weight:700;line-height:.98}.hero h1{font-size:clamp(55px,6.1vw,112px);margin:57px 0 26px;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--orange)}.period{color:var(--ink)}.hero-copy>p{max-width:455px;color:#666;line-height:1.85;font-size:16px}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:31px}.btn{display:inline-flex;justify-content:space-between;gap:38px;padding:19px 24px;font-size:12px;font-weight:700}.btn-dark{background:var(--ink);color:#fff}.btn span{color:var(--orange)}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:12px}.hero-bottom{display:flex;justify-content:space-between;max-width:570px;margin-top:auto;padding-top:70px;color:#8a8a8a;font-size:9px;letter-spacing:1.7px;font-weight:700}.hero-art{background:var(--cream);position:relative;min-height:620px;display:grid;place-items:center;overflow:hidden;border-left:1px solid var(--line)}.hero-art:before{content:'';position:absolute;width:77%;aspect-ratio:1;border:1px solid #dedbd7;border-radius:50%}.orbit{position:absolute;border:1px dashed #d7d1ca;border-radius:50%;aspect-ratio:1}.orbit-one{width:106%}.orbit-two{width:130%;transform:rotate(18deg)}.hero-art img{width:min(100%,680px);position:relative;z-index:1;filter:drop-shadow(0 35px 24px #15151512);animation:float 6s ease-in-out infinite}.art-label{position:absolute;z-index:2;font-size:9px;font-weight:700;letter-spacing:2px;color:#999}.art-label-top{top:38px;left:38px}.art-label-bottom{bottom:40px;left:38px}.art-cross{position:absolute;top:34px;right:40px;color:var(--orange);font-size:32px}.corner-mark{position:absolute;right:0;bottom:0;width:72px;height:72px;background:var(--orange);color:white;display:grid;place-items:center;font-size:35px}.ticker{overflow:hidden;background:var(--orange);color:#fff;padding:17px 0;white-space:nowrap;font-family:'Space Grotesk';font-size:13px;font-weight:700;letter-spacing:2px}.ticker-track{width:max-content;animation:marquee 32s linear infinite}.ticker span{padding:0 35px;color:#ffccb7}.section{padding:120px 8.6%}.section-top{display:flex;align-items:center;gap:26px;color:#888}.section-index{color:var(--orange)}.section-rule{height:1px;background:#d8d8d8;flex:1}.intro-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:end;margin-top:76px}.section h2{font-size:clamp(49px,6.3vw,105px);margin:0}.intro h2 span,.section-heading h2 span,.industries h2 span,.approach h2 span{color:#bcbcbc}.orange{color:var(--orange)!important}.intro-side{padding-bottom:12px}.small-orange{font-size:10px;letter-spacing:2px;color:var(--orange);font-weight:700}.intro-side p,.section-heading p,.industries-layout p{font-size:16px;color:#777;line-height:1.9;margin:24px 0 38px}.under-link{border-bottom:1px solid var(--ink);display:inline-flex;justify-content:space-between;width:210px;padding:0 0 13px;font-size:12px;font-weight:700}.expertise{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin:80px 0 65px}.section-heading h2{font-size:clamp(48px,5.4vw,86px)}.section-heading p{max-width:330px;margin:0}.service{display:grid;grid-template-columns:100px 1fr 50px;align-items:center;gap:15px;border-top:1px solid #d9d6d1;padding:35px 10px;transition:padding .25s,background .25s}.service:last-child{border-bottom:1px solid #d9d6d1}.service:hover{padding-left:25px;background:#fff}.service-number{font-size:12px;color:var(--orange);font-weight:700}.service h3{font-family:'Space Grotesk';font-size:clamp(25px,3vw,43px);letter-spacing:-1.5px;margin:0}.service p{color:#888;font-size:13px;margin:8px 0 0}.service-arrow{font-size:30px}.placeholder-note{font-size:11px;color:#999;margin-top:24px}.statement{background:#171717;color:#fff;position:relative;overflow:hidden;padding:115px 8.6%;min-height:610px}.statement-grid{opacity:.17;background-image:linear-gradient(#fff3 1px,transparent 1px),linear-gradient(90deg,#fff3 1px,transparent 1px)}.statement-content{position:relative}.light-eyebrow{color:#ff8058}.statement h2{font-size:clamp(75px,10vw,160px);margin:60px 0 22px}.statement h2 em{font-style:normal;color:var(--orange)}.statement p{color:#b6b6b6}.statement-symbol{position:absolute;right:0;bottom:-60px;font-size:200px;color:#ffffff09;font-weight:700}.statement-symbol span{font-size:60px}.industries-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:85px;align-items:end}.industries h2{font-size:clamp(48px,5.5vw,85px)}.industry-tags{display:grid;grid-template-columns:1fr 1fr;gap:12px}.industry-tags span{border:1px solid var(--line);padding:20px 15px;font-size:11px;font-weight:700;letter-spacing:1px}.approach{background:var(--cream)}.approach h2{margin:85px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step{border-top:2px solid var(--orange);padding:25px 0}.step>span{font-size:10px;letter-spacing:1.5px;color:var(--orange);font-weight:700}.step h3{font-family:'Space Grotesk';font-size:24px;letter-spacing:-1px;margin-top:43px}.step p{color:#888;line-height:1.7;font-size:14px}.contact{background:var(--orange);color:white;padding:115px 8.6%}.contact .light-eyebrow{color:#ffe2d6}.contact h2{font-size:clamp(65px,9vw,140px);margin:55px 0 28px}.contact h2 em{font-style:normal;color:#1b1b1b}.contact h2 span{color:#ffd6c8}.contact p{font-size:16px;max-width:450px;line-height:1.8}.contact-button{display:inline-flex;align-items:center;justify-content:space-between;background:#171717;color:white;min-width:260px;padding:23px;margin-top:25px;font-size:12px;font-weight:700}.contact-button span{font-size:20px}.contact small{display:block;opacity:.75;margin-top:16px}footer{padding:55px 8.6% 25px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top>span{font-size:12px;letter-spacing:2px;font-weight:700}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:55px;color:#999;font-size:10px;letter-spacing:1px}.footer-bottom a{color:var(--ink);margin-left:20px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes float{50%{transform:translateY(-17px)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:1100px){.hero{grid-template-columns:56% 44%}.hero-copy{padding-left:6%}.hero h1{font-size:6.3vw}.section{padding:90px 6%}.header nav{gap:17px}}@media(max-width:760px){.header{height:76px;padding:0 5%}.brand{font-size:24px}.brand img{width:52px;height:52px}.brand-sub{font-size:7px;letter-spacing:4px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:23px}.header nav.open{display:flex}.nav-mobile,.menu-toggle{display:block!important}.nav-cta{display:none}.menu-toggle{background:none;border:0;width:34px;padding:7px 0;cursor:pointer}.menu-toggle span{display:block;height:2px;background:#111;margin:6px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 7% 35px;min-height:560px}.hero h1{font-size:clamp(47px,10vw,76px);margin-top:55px}.hero-art{min-height:430px}.hero-art img{width:min(100%,520px)}.hero-bottom{padding-top:50px}.section{padding:80px 7%}.intro-layout,.industries-layout{grid-template-columns:1fr;gap:35px}.intro-layout{margin-top:55px}.section h2{font-size:clamp(47px,10vw,80px)}.section-heading{display:block;margin:55px 0}.section-heading p{margin-top:25px}.service{grid-template-columns:40px 1fr 25px;padding:27px 0}.service h3{font-size:27px}.statement{padding:85px 7%;min-height:520px}.statement h2{font-size:clamp(64px,12vw,105px)}.steps{grid-template-columns:1fr;gap:5px}.approach h2{margin:55px 0}.step h3{margin-top:20px}.contact{padding:90px 7%}.contact h2{font-size:clamp(55px,10vw,90px)}footer{padding:40px 7% 25px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom{line-height:2}.footer-bottom a{margin-left:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Dedicated About Us page */
.about-hero{min-height:650px;display:grid;grid-template-columns:1.35fr .65fr;position:relative;overflow:hidden;background:#fff}
.about-hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ddd4 1px,transparent 1px),linear-gradient(90deg,#ddd4 1px,transparent 1px);background-size:75px 75px;pointer-events:none}
.about-hero-content{padding:125px 0 95px 12%;position:relative;z-index:2}
.about-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(52px,5.6vw,100px);line-height:1.04;letter-spacing:-.07em;margin:40px 0 27px}
.about-hero h1 em{font-style:normal;color:var(--orange)}
.about-hero-content>p{max-width:580px;color:#666;font-size:18px;line-height:1.8}
.about-scroll{display:inline-flex;gap:60px;border-bottom:1px solid #222;padding:20px 0 13px;margin-top:38px;font-size:11px;letter-spacing:1px;font-weight:700}
.about-scroll span{color:var(--orange)}
.about-hero-mark{position:relative;display:grid;place-items:center;background:var(--cream);border-left:1px solid var(--line)}
.about-hero-mark img{width:100%;max-width:570px;filter:drop-shadow(0 30px 25px #0001);animation:float 6s ease-in-out infinite}
.about-story-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:85px}
.about-story h2,.about-values h2{font-size:clamp(48px,5.3vw,88px)}
.about-story h2 span,.about-values h2 span{color:#bcbcbc}
.about-story-copy{max-width:600px}
.about-story-copy p{font-size:16px;color:#666;line-height:1.95}
.about-story-copy .lead{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,2.5vw,35px);color:var(--ink);font-weight:600;line-height:1.3;margin-top:0}
.about-values{background:var(--cream)}
.about-values-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:75px 0 55px}
.about-values-head p{max-width:300px;color:#777;line-height:1.8}
.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.value-card{min-height:360px;padding:34px;background:#fff;border:1px solid #e8e5e1;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}
.value-card:hover{transform:translateY(-7px);border-color:var(--orange);box-shadow:0 20px 40px #0000000a}
.value-number{font-size:12px;font-weight:700;color:var(--orange)}
.value-symbol{font-size:58px;color:var(--orange);margin:32px 0 auto}
.value-card h3{font-family:'Space Grotesk',sans-serif;font-size:27px;letter-spacing:-1px;margin:22px 0 8px}
.value-card p{font-size:14px;line-height:1.85;color:#777;margin:0}
.about-end{padding:110px 8.6%;background:var(--orange);color:white}
.about-end>div>span{font-size:11px;letter-spacing:2px;font-weight:700}
.about-end h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(65px,9vw,135px);line-height:1;letter-spacing:-.07em;margin:55px 0 20px}
.about-end h2 em{font-style:normal;color:#1a1a1a}
.about-end p{margin-bottom:30px}
.header nav a[aria-current="page"]{color:var(--orange)}
@media(max-width:760px){.about-hero{grid-template-columns:1fr}.about-hero-content{padding:75px 7% 65px}.about-hero h1{font-size:clamp(44px,9vw,70px)}.about-hero-mark{min-height:290px}.about-hero-mark img{max-width:350px}.about-story-layout{grid-template-columns:1fr;gap:30px;margin-top:55px}.about-values-head{display:block;margin:55px 0 35px}.value-grid{grid-template-columns:1fr}.value-card{min-height:280px}.about-end{padding:85px 7%}}

/* What We Deliver */
.deliver-section{background:#fff}
.deliver-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:75px 0 48px}
.deliver-intro h2{font-size:clamp(42px,5vw,80px)}
.deliver-intro h2 span{color:#bcbcbc}
.deliver-intro>p{max-width:320px;color:#777;line-height:1.8}
.deliver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.deliver-card{padding:38px;min-height:320px;background:#faf9f7;border:1px solid #ebe8e4;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.deliver-card:hover{transform:translateY(-5px);border-color:var(--orange)}
.deliver-num{font-size:12px;font-weight:700;color:var(--orange)}
.deliver-icon{font-size:44px;color:var(--orange);margin:22px 0 auto}
.deliver-card h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(22px,2.2vw,31px);line-height:1.2;letter-spacing:-.04em;margin:15px 0}
.deliver-card p{color:#666;line-height:1.8;font-size:15px;margin:0;max-width:440px}
@media(max-width:760px){.deliver-intro{display:block;margin:55px 0 30px}.deliver-grid{grid-template-columns:1fr}.deliver-card{min-height:285px;padding:28px}}

/* Services page */
.services-hero{min-height:650px;background:#f9f8f5;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.services-hero-inner{position:relative;z-index:2;padding:100px 8.5% 75px}
.services-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(66px,9.1vw,150px);letter-spacing:-.08em;line-height:.94;margin:45px 0 65px}
.services-hero h1 em{font-style:normal;color:var(--orange)}
.services-hero-foot{display:flex;justify-content:space-between;align-items:end;gap:30px}
.services-hero-foot p{max-width:530px;font-size:18px;line-height:1.75;color:#626262}
.services-hero-foot>span{font-size:11px;font-weight:700;letter-spacing:1.5px}
.services-hero-watermark{position:absolute;right:-4%;top:2%;font-size:750px;line-height:1;font-family:'Space Grotesk',sans-serif;font-weight:700;color:#f0ece6;pointer-events:none}
.services-rows{margin-top:60px}
.service-row{display:grid;grid-template-columns:85px minmax(220px,1fr) minmax(260px,1fr) 155px;gap:30px;align-items:center;border-top:1px solid #dedbd6;padding:52px 0;transition:background .3s}
.service-row:last-child{border-bottom:1px solid #dedbd6}
.service-row:hover{background:#faf9f7}
.service-index{align-self:start;color:var(--orange);font-size:12px;font-weight:700;letter-spacing:1px}
.service-title h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(25px,2.6vw,41px);line-height:1.13;letter-spacing:-.055em;max-width:440px}
.service-glyph{font-size:38px;color:var(--orange);margin-bottom:20px}
.service-info p{font-size:16px;line-height:1.85;color:#5c5c5c;max-width:470px;margin:0 0 24px}
.service-tags{display:flex;flex-wrap:wrap;gap:7px}
.service-tags span{font-size:11px;letter-spacing:.3px;border:1px solid #dedbd6;padding:8px 11px;color:#5c5c5c}
.service-link{color:var(--orange);font-size:13px;font-weight:700;white-space:nowrap;justify-self:end}
.service-link span{margin-left:12px}
.services-note{margin-top:26px;color:#777;font-size:12px}
@media(max-width:950px){.service-row{grid-template-columns:55px 1fr 1fr;gap:20px}.service-link{grid-column:2 / -1;justify-self:start}.services-hero-watermark{font-size:550px}}
@media(max-width:650px){.services-hero{min-height:unset}.services-hero-inner{padding:85px 7% 65px}.services-hero h1{font-size:clamp(51px,11vw,75px)}.services-hero-foot{display:block}.services-hero-foot p{font-size:16px}.services-hero-foot>span{display:block;margin-top:30px}.services-hero-watermark{font-size:380px;right:-20%;top:30%}.service-row{grid-template-columns:1fr;padding:38px 0;gap:10px}.service-index{margin-bottom:5px}.service-title h2{font-size:30px}.service-glyph{margin-bottom:10px}.service-link{grid-column:1}.service-info p{font-size:15px}.services-rows{margin-top:35px}}

/* Branded logo watermark instead of oversized letter */
.services-hero-watermark{top:8%;right:1%;width:39%;height:84%;display:flex;align-items:center;justify-content:center;font-size:initial;opacity:.065;pointer-events:none;z-index:0}
.services-hero-watermark img{width:100%;max-height:100%;object-fit:contain}
@media(max-width:650px){.services-hero-watermark{width:68%;height:55%;top:22%;right:-20%;opacity:.045}}

/* About hero: match subtle Services-page logo watermark */
.about-hero{display:block;min-height:650px;background:#f9f8f5;isolation:isolate}
.about-hero-grid{display:none}
.about-hero-content{padding:100px 8.5% 90px;max-width:1250px;position:relative;z-index:2}
.about-hero h1{font-size:clamp(58px,6.4vw,112px);max-width:1130px}
.about-hero-content>p{max-width:620px}
.about-hero-mark{position:absolute;inset:8% 1% 8% auto;width:39%;height:84%;border:0;background:none;opacity:.065;z-index:0;pointer-events:none;display:flex;align-items:center;justify-content:center}
.about-hero-mark img{width:100%;max-width:none;max-height:100%;object-fit:contain;animation:none;filter:none}
@media(max-width:760px){.about-hero{min-height:unset}.about-hero-content{padding:75px 7% 80px}.about-hero h1{font-size:clamp(43px,9vw,72px)}.about-hero-mark{width:68%;height:55%;top:20%;right:-20%;opacity:.045;min-height:unset}}

/* Homepage: continuous white grid across both halves of the hero. */
.hero{background-color:#fff;background-image:linear-gradient(#dddddd55 1px,transparent 1px),linear-gradient(90deg,#dddddd55 1px,transparent 1px);background-size:68px 68px}
.hero-art{background:transparent;border-left:0}
.hero-grid{display:none}

/* RUVI official tagline */
.ruvi-tagline{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.07em}
.hero-tagline{font-size:clamp(12px,1.05vw,17px);margin:0 0 22px;color:var(--ink)}
.hero-tagline span:last-child,.footer-tagline strong{color:var(--orange)}
.footer-tagline{font-size:12px;letter-spacing:.13em;font-weight:700;text-align:right}
.philosophy-section{background:#fff}
.philosophy-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:75px 0 48px}
.philosophy-heading h2{font-size:clamp(45px,5vw,82px)}
.philosophy-heading h2 span{color:#bcbcbc}
.philosophy-heading p{max-width:330px;color:#666;line-height:1.8}
.philosophy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.philosophy-card{padding:28px 24px;min-height:285px;background:#faf9f6;border:1px solid #eae6e1;transition:transform .25s,border-color .25s}
.philosophy-card:hover{transform:translateY(-5px);border-color:var(--orange)}
.philosophy-card>span{font-size:11px;letter-spacing:.1em;color:#777}
.philosophy-card h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(27px,2.5vw,42px);letter-spacing:-.06em;margin:55px 0 18px}
.philosophy-card:last-child h3{color:var(--orange)}
.philosophy-card p{color:#666;line-height:1.75;font-size:14px}
@media(max-width:950px){.philosophy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.hero-tagline{gap:8px 12px;font-size:12px}.philosophy-heading{display:block;margin:50px 0 30px}.philosophy-grid{grid-template-columns:1fr}.philosophy-card{min-height:220px}.philosophy-card h3{margin:35px 0 15px}.footer-tagline{font-size:10px}}

/* Homepage hero: remove the final circular outline without affecting the floating logo */
.hero-art::before,.hero-art::after{content:none!important;display:none!important}
.hero-art .orbit,.hero-art .orbit-one,.hero-art .orbit-two{display:none!important}
/* Seamless right-to-left? No: user requested left-to-right. */
.ticker{padding:0;overflow:hidden}
.ticker-track{display:flex;width:max-content;animation:ruvi-scroll-right 38s linear infinite;will-change:transform}
.ticker-group{display:flex;align-items:center;flex-shrink:0;white-space:nowrap}
.ticker-item{padding:17px 28px!important;color:#fff!important}
.ticker-star{padding:0 13px!important;color:#ffccb7!important}
@keyframes ruvi-scroll-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.ticker-track,.hero-art img{animation:none!important}}

/* Dedicated Projects page */
.projects-hero{position:relative;isolation:isolate;overflow:hidden;background:#f9f8f5;min-height:690px}
.projects-hero-content{position:relative;z-index:2;padding:110px 8.5% 95px}
.projects-hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(51px,6.3vw,105px);line-height:1.02;letter-spacing:-.075em;margin:42px 0 30px}
.projects-hero h1 em{font-style:normal;color:var(--orange)}
.projects-hero-content>p{max-width:700px;color:#666;font-size:17px;line-height:1.85}
.projects-hero-watermark{position:absolute;z-index:0;right:-2%;top:12%;width:38%;height:76%;opacity:.06;pointer-events:none}
.projects-hero-watermark img{width:100%;height:100%;object-fit:contain}
.project-showcases{margin-top:60px;display:grid;gap:38px}
.project-showcase{display:grid;grid-template-columns:1fr 1fr;min-height:450px;border:1px solid #e7e3de;background:#fff}
.project-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f4f1ec}
.project-visual-grid{position:absolute;inset:0;background-image:linear-gradient(#d8d3cb55 1px,transparent 1px),linear-gradient(90deg,#d8d3cb55 1px,transparent 1px);background-size:40px 40px}
.project-visual-top{position:absolute;top:25px;left:28px;font-size:11px;letter-spacing:.14em;font-weight:700;color:#888}
.project-visual-icon{font-size:clamp(100px,12vw,190px);font-family:'Space Grotesk',sans-serif;font-weight:700;color:#e85a2c;opacity:.25}
.project-photo-note{position:absolute;bottom:26px;left:28px;right:28px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.project-photo-note span{font-size:10px;letter-spacing:.12em;font-weight:700}
.project-photo-note small{color:#888;font-size:11px}
.project-details{padding:clamp(30px,4vw,75px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.project-eyebrow,.project-label{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--orange)}
.project-details h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(31px,3.2vw,55px);line-height:1.08;letter-spacing:-.055em;margin:24px 0}
.project-details p{font-size:15px;line-height:1.85;color:#666}
.project-divider{height:1px;width:100%;background:#e5e1db;margin:18px 0 25px}
.project-details .project-muted{font-size:13px;color:#999;margin:10px 0 26px}
.project-contact{font-size:13px;color:var(--orange);font-weight:700}
.project-contact span{margin-left:12px}
.project-showcase:nth-child(even) .project-visual{order:2}
.projects-disclaimer{font-size:12px;color:#888;margin-top:30px}
@media(max-width:800px){.projects-hero-content{padding:80px 7%}.projects-hero h1{font-size:clamp(45px,8vw,70px)}.project-showcase{grid-template-columns:1fr}.project-showcase:nth-child(even) .project-visual{order:0}.project-visual{min-height:320px}.project-details{padding:35px}.projects-hero-watermark{width:70%;right:-25%;opacity:.035}}

/* Homepage overview: clean service-led layout */
.home-expertise,.home-why,.home-process,.home-projects{padding-top:110px;padding-bottom:110px}
.home-split-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:70px 0 50px}
.home-split-head h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(45px,5.1vw,82px);line-height:1.04;letter-spacing:-.065em;margin:0}
.home-split-head h2 span{color:var(--orange)}
.home-split-head>p{max-width:360px;font-size:16px;line-height:1.85;color:#666;margin:0 0 6px}
.home-service{display:grid;grid-template-columns:65px 1fr 35px;gap:24px;align-items:center;border-top:1px solid #e3e0db;padding:29px 8px;transition:background .2s,padding .2s}
.home-service:last-child{border-bottom:1px solid #e3e0db}
.home-service:hover{background:#faf9f6;padding-left:22px}
.home-service>span{color:var(--orange);font-size:12px;font-weight:700}
.home-service h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,2.7vw,41px);line-height:1.2;letter-spacing:-.05em;margin:0 0 7px}
.home-service p{font-size:14px;color:#777;margin:0}
.home-service>b{font-size:23px;color:var(--orange);font-weight:400}
.home-outline-link{display:inline-flex;gap:45px;align-items:center;margin-top:35px;border-bottom:1px solid #222;padding:13px 0;font-size:12px;letter-spacing:.09em;font-weight:700}
.home-outline-link span{color:var(--orange)}
.home-why{background:#faf9f6}
.home-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-benefit{background:#fff;border:1px solid #eae7e2;padding:28px;min-height:300px;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.home-benefit:hover{transform:translateY(-5px);border-color:var(--orange)}
.home-benefit>span{font-size:12px;font-weight:700;color:var(--orange)}
.home-benefit-icon{font-size:47px;color:var(--orange);margin:28px 0 auto}
.home-benefit h3{font-family:'Space Grotesk',sans-serif;font-size:23px;letter-spacing:-.04em;margin:15px 0 10px}
.home-benefit p{font-size:14px;line-height:1.7;color:#777;margin:0}
.home-process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.home-process-steps article{border-top:2px solid var(--orange);padding:25px 15px 20px 0}
.home-process-steps article>span{font-family:'Space Grotesk',sans-serif;color:var(--orange);font-size:46px;font-weight:700;letter-spacing:-.06em}
.home-process-steps h3{font-size:23px;font-family:'Space Grotesk',sans-serif;margin:32px 0 12px}
.home-process-steps p{font-size:14px;color:#777;line-height:1.8;max-width:235px}
.home-projects{background:#faf9f6}
.home-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.home-project-image{height:340px;position:relative;overflow:hidden;display:grid;place-items:center;background:#eae6e0;background-image:linear-gradient(#d7d1c950 1px,transparent 1px),linear-gradient(90deg,#d7d1c950 1px,transparent 1px);background-size:42px 42px}
.home-project-art{font-size:155px;color:#ed5827;opacity:.3;transition:transform .3s}
.home-project-card:hover .home-project-art{transform:scale(1.08)}
.home-project-image small{position:absolute;bottom:20px;left:25px;font-size:10px;letter-spacing:.1em;color:#666}
.home-project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:23px;font-size:11px;letter-spacing:.1em;color:#777}
.home-project-meta b{color:var(--orange);font-size:23px;font-weight:400}
.home-project-card h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(25px,2.5vw,37px);letter-spacing:-.045em;margin:15px 0 8px}
.home-project-card>p{font-size:13px;color:#888}
.home-cta{background:var(--orange);padding:105px 8.5%;color:#fff}
.home-cta-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em}
.home-cta h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(55px,7.5vw,120px);line-height:1;letter-spacing:-.075em;margin:45px 0 30px;color:#161616}
.home-cta h2 em{font-style:normal;color:#fff}
.home-cta p{max-width:640px;line-height:1.85;font-size:17px}
.home-cta-button{display:inline-flex;align-items:center;gap:45px;background:#161616;color:#fff;padding:22px 28px;margin-top:22px;font-size:12px;font-weight:700;letter-spacing:.06em}
.home-cta-button span{color:var(--orange)}
.home-cta small{display:block;margin-top:20px;font-size:12px}
@media(max-width:1000px){.home-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.home-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-expertise,.home-why,.home-process,.home-projects{padding-top:75px;padding-bottom:75px}.home-split-head{display:block;margin:45px 0 35px}.home-split-head>p{margin-top:25px}.home-service{grid-template-columns:35px 1fr 25px;gap:12px}.home-service h3{font-size:24px}.home-benefits{grid-template-columns:1fr}.home-benefit{min-height:230px}.home-process-steps{grid-template-columns:1fr 1fr}.home-process-steps article>span{font-size:35px}.home-process-steps h3{font-size:19px;margin-top:15px}.home-project-grid{grid-template-columns:1fr}.home-project-image{height:260px}.home-cta{padding:80px 7%}.home-cta h2{font-size:clamp(45px,10vw,75px)}}
@media(max-width:420px){.home-process-steps{grid-template-columns:1fr}}

/* Actual project photography */
.real-project-main{padding:0;background:#f4f3f1;min-height:450px}
.real-project-main>img{width:100%;height:100%;min-height:450px;display:block;object-fit:cover;object-position:center center;transition:transform .65s ease}
.real-project:hover .real-project-main>img{transform:scale(1.035)}
.real-project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:-15px 0 35px}
.real-project-gallery a{display:block;overflow:hidden;background:#f3f1ee;aspect-ratio:4/3}
.real-project-gallery img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;transition:transform .4s ease}
.real-project-gallery a:hover img{transform:scale(1.055)}
.real-home-project{padding:0!important;overflow:hidden;background:#f4f3f1}
.real-home-project img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;transition:transform .5s ease}
.home-project-card:hover .real-home-project img{transform:scale(1.04)}
@media(max-width:800px){.real-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.real-project-main,.real-project-main>img{min-height:310px}}

/* Compact two-image project showcase */
.projects-section .project-showcases{gap:24px;margin-top:38px}
.projects-section .project-showcase{grid-template-columns:minmax(0,43%) minmax(0,57%);min-height:0;max-width:1180px;margin-inline:auto;border:1px solid #eae6e1;border-radius:12px;overflow:hidden}
.projects-section .project-showcase:nth-child(even) .project-visual{order:0}
.projects-section .project-visual,.projects-section .real-project-main,.projects-section .real-project-main>img{height:290px!important;min-height:0!important;max-height:290px!important}
.projects-section .project-visual{background:#f3f3f3}
.projects-section .real-project-main>img{width:100%;object-fit:cover;object-position:center;display:block}
.projects-section .project-details{padding:25px 36px}
.projects-section .project-details h2{font-size:clamp(25px,2.3vw,36px);margin:12px 0}
.projects-section .project-details p{font-size:13px;line-height:1.6}
.projects-section .project-divider{margin:10px 0}
.projects-section .project-details .project-muted{margin:6px 0 12px}
.projects-section .project-contact{font-size:12px}
.home-project-image.real-home-project{height:240px!important;max-height:240px!important;min-height:0!important;overflow:hidden}
.home-project-image.real-home-project img{height:100%;width:100%;object-fit:cover}
@media(max-width:800px){.projects-section .project-showcase{grid-template-columns:1fr}.projects-section .project-visual,.projects-section .real-project-main,.projects-section .real-project-main>img{height:240px!important;max-height:240px!important}.projects-section .project-details{padding:25px}}

/* RUVI Automation Solutions brand identity */
.brand-sub{white-space:nowrap;letter-spacing:2.25px;font-size:9px}
.brand-solutions{color:var(--orange)}
@media(max-width:760px){.brand-sub{font-size:7px;letter-spacing:1.55px}.brand{gap:4px}}

/* Project inquiry form — RUVI Automation Solutions */
.home-cta{padding:100px 8.6%;background:var(--orange)}
.inquiry-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(35px,5vw,95px);align-items:start;max-width:1550px;margin:auto}
.inquiry-intro h2{font-size:clamp(48px,5.3vw,88px);margin:42px 0 28px;line-height:1.04}
.inquiry-intro>p{max-width:480px;color:#fff;font-size:16px;line-height:1.85}
.inquiry-contact-note{margin-top:80px;border-top:1px solid #ffffff75;padding-top:20px;color:#ffe5da;font-size:10px;letter-spacing:1.6px;line-height:2.2}
.inquiry-contact-note strong{display:block;color:#fff;font-size:13px}.inquiry-contact-note strong span{color:#222}
.inquiry-form-wrap{background:#fff;color:var(--ink);padding:clamp(26px,3vw,48px);box-shadow:0 22px 60px #5016001c}
.inquiry-form-kicker{font-size:10px;color:var(--orange);letter-spacing:1.8px;font-weight:700}
.inquiry-form h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,2.7vw,41px);letter-spacing:-.06em;line-height:1.15;margin:15px 0 32px;display:flex;justify-content:space-between;gap:20px}
.inquiry-form h3 span{color:var(--orange)}.inquiry-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
.inquiry-field{display:flex;flex-direction:column;gap:9px;min-width:0}.inquiry-field-full{grid-column:1/-1}
.inquiry-field label{font-size:12px;font-weight:700}.inquiry-field label b{color:var(--orange)}
.inquiry-field input,.inquiry-field select,.inquiry-field textarea{font:inherit;font-size:13px;width:100%;min-width:0;padding:14px 13px;border:1px solid #ddd9d5;border-radius:0;background:#faf9f7;color:var(--ink);outline:none;transition:border-color .2s}
.inquiry-field textarea{resize:vertical;min-height:120px}.inquiry-field input:focus,.inquiry-field select:focus,.inquiry-field textarea:focus{border-color:var(--orange);background:#fff}
.inquiry-submit{margin-top:26px;width:100%;border:0;background:#171717;color:#fff;padding:19px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;font-size:12px;letter-spacing:.06em}
.inquiry-submit span{color:var(--orange);font-size:20px}.inquiry-submit:disabled{opacity:.6;cursor:wait}.inquiry-status{min-height:1.2em;font-size:13px!important;margin:13px 0 0!important;color:#b42318!important}.inquiry-status.success{color:#137333!important}.inquiry-privacy{color:#777!important;font-size:11px!important;margin:10px 0 0!important}.inquiry-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.inquiry-layout{grid-template-columns:1fr}.inquiry-intro h2{max-width:700px}.inquiry-contact-note{margin-top:35px}.home-cta{padding:75px 7%}}
@media(max-width:520px){.inquiry-form-grid{grid-template-columns:1fr}.inquiry-form-wrap{padding:25px 20px}.inquiry-intro h2{font-size:clamp(43px,10vw,65px)}}

/* Mobile refinement: keep the opening message, actions and logo compact and readable. */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:clip}
  .hero{min-height:0;grid-template-columns:minmax(0,1fr)}
  .hero-copy{min-height:0;padding:54px 7% 42px}
  .hero .eyebrow{font-size:9px;letter-spacing:1.1px;gap:9px;white-space:normal;flex-wrap:wrap}
  .hero .eyebrow-line{width:18px}
  .hero h1{font-size:clamp(34px,8.6vw,60px);line-height:1.04;letter-spacing:-.075em;margin:36px 0 23px;white-space:normal}
  .hero-tagline{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;letter-spacing:.04em;margin-bottom:10px}
  .hero-copy>p{font-size:15px;line-height:1.7;margin:22px 0 0}
  .hero-actions{gap:18px;flex-wrap:wrap;margin-top:26px}
  .hero-actions .btn{gap:20px;padding:17px 19px}
  .hero-bottom{padding-top:36px;gap:12px;flex-wrap:wrap;font-size:8px}
  .hero-art{min-height:0;height:310px;border-top:1px solid var(--line)}
  .hero-art img{width:min(68%,260px);max-height:240px;object-fit:contain}
  .art-label-bottom{left:7%;bottom:20px;font-size:8px;letter-spacing:1.2px}
  .corner-mark{width:50px;height:50px;font-size:23px}
  .section-top{flex-wrap:wrap;gap:10px 14px;font-size:9px;letter-spacing:1px}
  .section-top .section-rule{min-width:24px}
  .home-split-head h2{font-size:clamp(33px,8.2vw,55px);overflow-wrap:anywhere}
  .home-cta h2,.inquiry-intro h2{overflow-wrap:anywhere}
}
@media(max-width:390px){
  .hero h1{font-size:8.35vw}
  .hero-actions{align-items:stretch;gap:15px}
  .hero-art{height:270px}
  .hero-art img{max-height:200px}
  .brand-sub{letter-spacing:1px;font-size:6.5px}
}
