/* REDCOWEB V7 — detailed fidelity pass.
 * The user-supplied mockups set the proportions, not generic agency templates.
 * No backend routes, forms, product variants or project associations are changed.
 */
:root { --rv7-turquoise:#087d8b; --rv7-ink:#152d3b; --rv7-paper:#f9fbfb; --rv7-soft:#edf5f7; --rv7-stroke:#e1ebee; }
body:has(.rd27),body:has(.rw-sv3),body:has(.rw-ai2) {background:#fff!important;}
/* Content should never remain near-invisible while waiting for a scroll animation. */
.rd27.rd27-motion-ready [data-reveal]:not(.rd27-visible),
.rd27 [data-reveal]:not(.is-visible),
.rw-sv3 [data-sv-reveal]:not(.is-visible),
.rw-ai2 [data-ai-reveal]:not(.is-visible),
.rw-ai2 [data-reveal]:not(.is-visible),
html.redcoweb-v3-motion .rd27 .redcoweb-v3-reveal:not(.redcoweb-v3-visible) {
 opacity:.96!important;translate:0 4px!important;transform:none!important;
}
.rd27 [data-reveal].rd27-visible,.rw-sv3 [data-sv-reveal].is-visible {opacity:1!important;translate:0 0!important;}
/* Branded floating pill navbar without crushing desktop links. */
@media(min-width:1001px) {
 body:has(.rd27) .site-header,body:has(.rw-sv3) .site-header,body:has(.rw-ai2) .site-header {
  width:calc(100% - clamp(32px,5vw,100px))!important;max-width:none!important;
  border:1px solid #e1e8e9!important;border-radius:17px!important;
  box-shadow:0 14px 35px -22px rgba(44,68,73,.19)!important;
  margin:11px auto -77px!important;top:12px!important;
 }
 body:has(.rd27) .site-header .header-inner,body:has(.rw-sv3) .site-header .header-inner,
 body:has(.rw-ai2) .site-header .header-inner {max-width:none!important;width:calc(100% - 35px)!important;}
}
/* Architectural imagery fills full bleed, not an isolated background patch. */
.rd27.rd27-home .rd27-hero {
 padding-top:109px!important;
 background:
  linear-gradient(90deg,rgba(249,251,251,.16) 0%,rgba(249,251,251,.74) 55%,rgba(255,255,255,.94) 100%),
  radial-gradient(ellipse at 9% 85%,rgba(209,221,219,.36),transparent 45%),#f7fafa!important;
}
.rd27.rd27-home .rd27-hero-grid {
 grid-template-columns:minmax(0,43%) minmax(0,57%)!important;
 min-height:430px!important;align-items:center!important;
}
.rd27.rd27-home .rd27-hero-copy {z-index:5;padding-block:11px!important;}
.rd27.rd27-home .rd27-hero-copy h1{font-size:clamp(34px,3.35vw,59px)!important;font-weight:950;line-height:1.43!important;text-wrap:balance;}
.rd27.rd27-home .rd27-hero-gallery{min-height:430px!important;overflow:visible!important;}
.rd27.rd27-home .rv6-hero-asset{width:116%!important;max-height:520px!important;transform:translateX(-2%)!important;filter:contrast(1.13) saturate(1.07);}
.rd27.rd27-home .rd27-buttons .rd27-btn-primary {background:linear-gradient(130deg,#087b89,#056371);box-shadow:0 12px 27px -12px rgba(0,107,126,.35);}
.rd27.rd27-home .rd27-benefits span{font-size:12px;}
.rd27.rd27-home .rdv4-clients-inner{min-height:73px!important;}
.rd27.rd27-home .rdv4-client-label strong{font-size:12px;}
/* Five neat glass services, central card raised, background columns as in reference. */
.rd27.rd27-home .rd27-services {
 position:relative;padding-block:44px 60px!important;isolation:isolate;
 background:linear-gradient(115deg,rgba(242,249,249,.4),rgba(255,255,255,.74) 50%,rgba(239,248,249,.55)),#f5fafa!important;
}
.rd27.rd27-home .rd27-services::before {
 content:"";position:absolute;z-index:-1;right:auto;left:-5%;top:7%;width:26%;height:93%;
 background:url('/media/persepolis/persepolis-column.png') left bottom/contain no-repeat;opacity:.22;filter:grayscale(.65) contrast(.75);
}
.rd27.rd27-home .rd27-services .rd27-heading {margin-bottom:25px!important;}
.rd27.rd27-home .rd27-services-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:clamp(9px,1.2vw,22px)!important;}
.rd27.rd27-home .rd27-service-card {
  min-height:204px!important;background:rgba(255,255,255,.87)!important;
  backdrop-filter:blur(15px);border:1px solid #deedef!important;
  box-shadow:0 18px 37px -26px rgba(53,94,111,.25)!important;border-radius:18px!important;
}
.rd27.rd27-home .rd27-service-card.rv6-service-featured{
 box-shadow:0 18px 48px -21px rgba(0,113,134,.24)!important;
 border-color:#b5dbe3!important;
}
.rd27.rd27-home .rd27-service-card h3{font-size:clamp(13px,1.05vw,18px)!important;letter-spacing:-.2px;}
.rd27.rd27-home .rd27-service-card p{font-size:clamp(10px,.75vw,13px)!important;}
/* Horizontal showroom as a responsive, swipeable strip, not small centered cards. */
.rv6-home-portfolio{padding-block:45px 52px!important;background:linear-gradient(125deg,#f6fafb,#eaf4f6 54%,#f9fbfc)!important;}
.rv6-portfolio-showroom{grid-template-columns:minmax(245px,25%) minmax(0,75%)!important;}
.rv6-portfolio-intro h2{font-size:clamp(27px,2.6vw,45px)!important;}
.rv6-portfolio-rail{gap:15px!important;}
.rv6-project-slide{border-radius:17px!important;background:#fff;box-shadow:0 16px 38px -21px rgba(54,79,87,.19);}
.rv6-project-image{height:clamp(175px,13.3vw,240px)!important;}
.rv6-project-image img{filter:contrast(1.1) saturate(1.16);}
.rv6-project-caption b{font-size:clamp(14px,.98vw,18px);}
.rd27.rd27-home .rd27-method {padding-block:42px 53px!important;background:
 radial-gradient(circle at -4% 80%,rgba(187,218,222,.3),transparent 32%),linear-gradient(#fff,#f5fafb)!important;}
.rd27.rd27-home .rd27-method .rd27-heading{margin-bottom:18px!important;}
.rd27.rd27-home .rd27-steps{gap:clamp(11px,1.4vw,26px)!important;}
.rd27.rd27-home .rd27-step {min-height:145px!important;border-radius:15px;box-shadow:0 15px 38px -29px rgba(54,97,106,.23);}
.rd27.rd27-home .rd27-step>span{position:relative;top:-5px;}
.rd27.rd27-home .rdv4-confidence-inner{min-height:99px!important;}
.rd27.rd27-home .rv6-trust{padding:42px 0 48px!important;background:linear-gradient(125deg,#fff,#f1f7f9)!important;}
.rd27.rd27-home .rv6-trust-card{min-height:162px!important;box-shadow:0 15px 31px -24px rgba(31,74,87,.24);}
.rd27.rd27-home .rd27-cta{padding:28px 0!important;background:linear-gradient(115deg,#e9f1ef,#f7faf9 54%,#e3edf1)!important;}
.rd27.rd27-home .rd27-cta-shell{min-height:180px!important;}
.rd27.rd27-home .rdv4-faq{padding:40px 0 45px!important;}
.rd27.rd27-home .rdv4-faq-list summary{min-height:44px;}
/* Portfolio: two featured wide images, three thumbnails across thereafter,
 * captions IN the photographic frame exactly like the approved showroom mockup. */
.rd27.rd27-portfolio .rd27-portfolio-hero{
 padding-top:108px!important;
 background-image:linear-gradient(95deg,rgba(255,255,255,.90),rgba(255,255,255,.70) 60%,rgba(255,255,255,.86)),url('/media/redcoweb/business/greek-marble-background.webp')!important;
 background-position:center,center!important;
 background-size:cover,cover!important;
 background-repeat:no-repeat!important;
}
.rd27.rd27-portfolio .rd27-portfolio-top{min-height:455px!important;grid-template-columns:42% 58%!important;}
.rd27.rd27-portfolio .rd27-portfolio-copy h1{font-size:clamp(38px,3.8vw,69px)!important;}
.rd27.rd27-portfolio .rv6-portfolio-scene{filter:drop-shadow(0 20px 29px rgba(30,63,75,.15)) contrast(1.1) saturate(1.1);}
.rd27.rd27-portfolio .rd27-project-strip{background:#fff!important;margin-top:4px!important;box-shadow:0 10px 24px -15px rgba(63,81,89,.22)!important;}
.rd27.rd27-portfolio .rd27-project-chip{flex:1;min-width:0!important;}
.rd27.rd27-portfolio .rd27-project-chip img{object-fit:cover;filter:contrast(1.1) saturate(1.1);}
.rd27.rd27-portfolio .rd27-portfolio-list{padding-block:54px 60px!important;background:linear-gradient(#fafcfc,#f3f7f8)!important;}
.rd27.rd27-portfolio .rd27-heading{margin-bottom:17px!important;}
.rd27.rd27-portfolio .rd27-portfolio-toolbar{margin-bottom:21px!important;}
.rd27.rd27-portfolio .rd27-portfolio-grid{gap:clamp(11px,1vw,22px)!important;}
.rd27.rd27-portfolio .rd27-portfolio-card{position:relative;overflow:hidden;border-radius:18px!important;box-shadow:0 16px 35px -22px rgba(18,67,80,.19)!important;}
.rd27.rd27-portfolio .rd27-portfolio-card>a{display:block;width:100%;height:100%;}
.rd27.rd27-portfolio .rd27-portfolio-image,
.rd27.rd27-portfolio .rd27-wide .rd27-portfolio-image{height:clamp(230px,17.8vw,320px)!important;position:relative!important;}
.rd27.rd27-portfolio .rd27-wide .rd27-portfolio-image{height:clamp(290px,22vw,390px)!important;}
.rd27.rd27-portfolio .rd27-portfolio-image img{height:100%;width:100%;object-fit:cover;object-position:center!important;filter:contrast(1.06) saturate(1.07);}
.rd27.rd27-portfolio .rd27-portfolio-image:after{
 content:"";position:absolute;z-index:1;pointer-events:none;inset:35% 0 0;
 background:linear-gradient(transparent,rgba(248,251,251,.25) 22%,rgba(255,255,255,.95) 100%)!important;
}
.rd27.rd27-portfolio .rd27-portfolio-category{z-index:4;box-shadow:0 4px 15px rgba(22,64,76,.11);}
.rd27.rd27-portfolio .rd27-card-quick{z-index:4!important;top:auto!important;bottom:13px!important;}
.rd27.rd27-portfolio .rv7-image-caption{
 position:absolute;bottom:0;left:0;right:0;z-index:3;
 padding:22px 23px 19px;text-align:right;direction:rtl;color:#16333e;
}
.rd27.rd27-portfolio .rv7-image-caption h3{font-size:clamp(17px,1.3vw,25px);line-height:1.3;font-weight:950;margin:0 0 3px;}
.rd27.rd27-portfolio .rv7-image-caption p{font-size:clamp(10px,.8vw,14px);color:#506c79;margin:0 0 9px;}
.rd27.rd27-portfolio .rv7-image-caption span{font-size:11px;color:#086c7a;font-weight:800;}
.rd27.rd27-portfolio .rd27-portfolio-caption{display:none!important;}
.rd27.rd27-portfolio .rd27-portfolio-card:hover{transform:translateY(-5px)!important;}
.rd27.rd27-portfolio .rd27-portfolio-card[hidden],.rd27.rd27-portfolio .rd27-portfolio-card.rv6-collapsed{display:none!important;}
/* Portfolio mobile/tablet device row: realistic media borrowed from the supplied reference. */
.rd27.rd27-portfolio .rdv4-multidevice{padding:33px 0 40px!important;background:
 linear-gradient(100deg,rgba(244,249,249,.94),rgba(248,251,250,.8)),#eef5f5!important;}
.rd27.rd27-portfolio .rdv4-multidevice-grid{grid-template-columns:35% 65%!important;align-items:center!important;}
.rd27.rd27-portfolio .rdv4-device-heading h2{font-size:clamp(26px,2.5vw,48px);}
.rd27.rd27-portfolio .rdv4-multidevice-scene{
 min-height:clamp(250px,25vw,430px)!important;
 background:url('/media/redcoweb/reference-v6/portfolio-responsive-stage.webp') center/contain no-repeat;
 filter:contrast(1.08) drop-shadow(0 17px 25px rgba(34,73,80,.15));
}
.rd27.rd27-portfolio .rdv4-multidevice-scene>div{display:none!important;}
.rd27.rd27-portfolio .rdv4-workflow{padding:41px 0 48px!important;}
.rd27.rd27-portfolio .rdv4-workflow-grid{gap:10px!important;}
.rd27.rd27-portfolio .rdv4-workflow-card{min-height:160px!important;padding:17px 16px!important;background:rgba(255,255,255,.91);}
.rd27.rd27-portfolio .rdv4-workflow-number{font-size:10px;}
.rd27.rd27-portfolio .rdv4-workflow-symbol{width:42px;height:42px;margin-top:12px;font-size:20px;}
.rd27.rd27-portfolio .rdv4-workflow-card h3{font-size:clamp(13px,.95vw,17px);margin:12px 0 4px;}
.rd27.rd27-portfolio .rdv4-workflow-card p{font-size:clamp(10px,.72vw,13px);line-height:1.65;}
.rd27.rd27-portfolio .rd27-cta{padding:28px 0!important;}
/* Services & AI: crisp images, less blank space, full-width graphic treatment. */
.rw-sv3-hero {min-height:0!important;background:radial-gradient(circle at 85% 45%,rgba(193,222,235,.58),transparent 50%),linear-gradient(120deg,#fff,#ecf6f8)!important;}
.rw-sv3-hero-grid{min-height:clamp(500px,38vw,660px)!important;}
.rw-sv3-hero .rv6-services-stage {width:120%;filter:contrast(1.14) saturate(1.1) drop-shadow(0 20px 30px rgba(43,99,122,.22))!important;}
.rw-sv3-services{background:linear-gradient(120deg,#eef6f8,#fff)!important;}
.rw-sv3-scroll-stories{padding-block:clamp(52px,5vw,85px)!important;}
.rw-sv3-devices,.rw-sv3-process{padding-block:clamp(55px,5vw,100px)!important;}
.rw-ai2-hero {min-height:0!important;background:radial-gradient(circle at 82% 41%,rgba(143,214,238,.52),transparent 56%),linear-gradient(120deg,#fff,#e7f4fa)!important;}
.rw-ai2-hero-grid{min-height:clamp(480px,35vw,610px)!important;}
.rw-ai2-hero .rv6-ai-stage{width:120%!important;filter:contrast(1.16) saturate(1.15) drop-shadow(0 22px 28px rgba(36,128,154,.17))!important;}
@media(max-width:1150px){
 .rd27.rd27-home .rd27-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
 .rd27.rd27-portfolio .rd27-portfolio-top{grid-template-columns:46% 54%!important;}
}
@media(max-width:900px){
 .rd27.rd27-home .rd27-hero-grid,.rd27.rd27-portfolio .rd27-portfolio-top{grid-template-columns:1fr!important;}
 .rd27.rd27-home .rd27-hero {padding-top:40px!important;}
 .rd27.rd27-home .rd27-hero-copy{max-width:none;}
 .rd27.rd27-home .rd27-hero-gallery{min-height:350px!important;}
 .rd27.rd27-home .rv6-hero-asset{width:100%!important;max-height:420px!important;}
 .rd27.rd27-portfolio .rd27-portfolio-hero{padding-top:42px!important;}
 .rd27.rd27-portfolio .rdv4-multidevice-grid{grid-template-columns:1fr!important;}
 .rd27.rd27-portfolio .rdv4-multidevice-scene{min-height:330px!important;}
}
@media(max-width:620px){
 .rd27.rd27-home .rd27-hero-gallery{min-height:250px!important;}
 .rd27.rd27-home .rd27-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .rd27.rd27-home .rd27-service-card{min-height:185px!important;padding:15px 11px!important;}
 .rv6-project-slide{flex-basis:80%!important;}
 .rv6-project-image{height:235px!important;}
 .rd27.rd27-portfolio .rd27-portfolio-top{min-height:0!important;}
 .rd27.rd27-portfolio .rdv4-multidevice-scene{min-height:240px!important;}
 .rd27.rd27-portfolio .rd27-portfolio-grid{grid-template-columns:1fr!important;}
 .rd27.rd27-portfolio .rd27-portfolio-card{grid-column:1!important;}
 .rd27.rd27-portfolio .rd27-portfolio-image,.rd27.rd27-portfolio .rd27-wide .rd27-portfolio-image{height:270px!important;}
 .rd27.rd27-portfolio .rv7-image-caption{padding:19px 19px 14px;}
 .rd27.rd27-portfolio .rdv4-workflow-card{min-height:160px!important;}
}
@media(prefers-reduced-motion:reduce){
 .rd27 .rd27-portfolio-card,.rd27 .rv6-project-slide{transition:none!important;transform:none!important;}
}

/* Final reference fidelity: two-line hero, premium contrast, curated portfolio. */
@media(min-width:1151px){
 .rd27.rd27-home .rd27-hero-grid{grid-template-columns:minmax(0,51%) minmax(0,49%)!important;}
 .rd27.rd27-home .rd27-hero-copy h1{font-size:clamp(34px,2.67vw,49px)!important;line-height:1.55!important;letter-spacing:-.025em;}
 .rd27.rd27-home .rd27-hero-gallery{min-height:445px!important;}
 .rd27.rd27-home .rv6-hero-asset{width:129%!important;transform:translateX(-5%)!important;}
}
.rd27.rd27-portfolio .rd27-cta-shell h2{color:#fff!important;text-shadow:0 2px 18px rgba(1,40,53,.22);}
.rd27.rd27-portfolio .rd27-cta-shell p{color:#d2e8e9!important;}
.rd27.rd27-portfolio .rd27-cta-shell .rd27-overline{color:#bededf!important;}
.rd27.rd27-portfolio .rd27-cta-shell .rd27-btn-primary{background:#fff!important;color:#0a6372!important;}
.rd27.rd27-portfolio .rd27-cta-shell .rd27-btn-outline{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important;}
.rd27.rd27-portfolio .rd27-portfolio-image:after{
 background:linear-gradient(transparent 32%,rgba(255,255,255,.31) 66%,rgba(255,255,255,.96) 99%)!important;
}
.rd27.rd27-portfolio .rv7-image-caption h3{color:#152f3c!important;text-shadow:0 1px 4px rgba(255,255,255,.45);}
.rd27.rd27-portfolio .rv7-image-caption span{color:#076d79!important;}
/* Reference services tile row: first five visible, everything else kept accessible. */
.rw-sv3-services .rw-sv3-service-card.rv7-service-extra{display:none!important;}
.rw-sv3-services.rv7-expanded .rw-sv3-service-card.rv7-service-extra{display:block!important;}
.rw-sv3-services .rw-sv3-service-grid{gap:clamp(12px,1.2vw,23px)!important;}
.rw-sv3-services .rw-sv3-service-card{min-height:220px!important;border-radius:19px!important;}
.rv7-service-expand{display:flex;justify-content:center;margin:27px auto 5px;}
.rv7-service-expand button{
 border:1px solid #b6d8df;background:#fff;color:#086d7d;cursor:pointer;
 padding:13px 29px;border-radius:13px;font:800 13px inherit;
 box-shadow:0 16px 30px -22px rgba(35,100,115,.34);
}
.rv7-service-expand button:hover{background:#e8f6f7;}
.rv7-service-expand[hidden]{display:none!important;}
/* AI reference's four photographic tiles directly beneath the blue hero. */
.rv7-ai-industries{position:relative;background:linear-gradient(120deg,#eaf7fb,#f7fbfc);padding:0 0 clamp(20px,2.7vw,51px);}
.rv7-ai-industry-grid{width:calc(100% - 2 * clamp(16px,4.4vw,90px));max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.35vw,26px);}
.rv7-ai-industry-card{display:grid;grid-template-columns:1fr 22px;grid-template-rows:auto auto;gap:8px;
 border-radius:15px;overflow:hidden;border:1px solid #d6e7ed;background:#fff;color:#193a49;
 box-shadow:0 15px 36px -27px rgba(21,101,133,.29);
 text-decoration:none;padding-bottom:16px;transition:transform .3s ease,box-shadow .3s;}
.rv7-ai-industry-card:hover{transform:translateY(-5px);box-shadow:0 22px 40px -23px rgba(21,101,133,.3);}
.rv7-ai-industry-card img{grid-column:1/3;width:100%;height:clamp(110px,10vw,180px);object-fit:cover;}
.rv7-ai-industry-card strong{font-size:clamp(12px,1vw,18px);padding-inline-start:16px;font-weight:900;}
.rv7-ai-industry-card span{align-self:center;color:#0f8aa0;font-size:18px;}
@media(max-width:900px){
 .rv7-ai-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .rw-sv3-services .rw-sv3-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:620px){
 .rd27.rd27-home .rd27-hero-grid{grid-template-columns:1fr!important;}
 .rd27.rd27-home .rd27-hero-copy h1{font-size:clamp(27px,7.1vw,36px)!important;}
 .rv7-ai-industry-card img{height:110px;}
 .rv7-ai-industry-card strong{font-size:12px;padding-inline-start:10px;}
 .rd27.rd27-portfolio .rd27-cta-shell h2{font-size:25px!important;}
}

/* Match the approved AI concept: RTL copy LEFT, blue robotic visual RIGHT. */
@media(min-width:851px){
 .rw-ai2-hero-grid{display:grid!important;direction:ltr!important;}
 .rw-ai2-hero-copy{grid-column:1!important;grid-row:1!important;direction:rtl!important;text-align:right!important;}
 .rw-ai2-hero-art{grid-column:2!important;grid-row:1!important;}
}
@media(max-width:850px){
 .rw-ai2-hero-grid{display:grid!important;grid-template-columns:1fr!important;}
 .rw-ai2-hero-copy{grid-column:1!important;grid-row:1!important;}
 .rw-ai2-hero-art{grid-column:1!important;grid-row:2!important;}
}
