:root{--bg:#020817;--panel:#06162c;--panel2:#081d39;--text:#f4f8ff;--muted:#9cc5e8;--cyan:#00c8ff;--blue:#1b78ff;--red:#ff244f;--line:rgba(0,188,255,.5)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -10%,#123866 0,#030b1b 35%,#01050d 100%);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1440px,92%);margin:auto}.topbar{position:sticky;top:0;z-index:20;background:rgba(2,8,23,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,188,255,.45);box-shadow:0 8px 35px rgba(0,140,255,.14)}.nav{height:84px;display:flex;align-items:center;gap:28px}.logo{width:430px;height:68px;object-fit:contain;object-position:left center}.links{display:flex;gap:30px;align-items:center;margin-left:auto}.links a{padding:30px 3px 24px;color:#eef7ff;font-size:16px;position:relative}.links a.active,.links a:hover{color:#fff}.links a.active:after,.links a:hover:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:linear-gradient(90deg,var(--cyan),#6f8dff);box-shadow:0 0 12px var(--cyan)}.cta{border:1px solid #24baff;border-radius:28px;padding:12px 25px;box-shadow:0 0 14px rgba(0,174,255,.35),inset 0 0 12px rgba(0,174,255,.08);font-weight:700;white-space:nowrap}.hamb{display:none;font-size:28px}.hero{min-height:570px;background-image:linear-gradient(90deg,rgba(1,7,17,.18),rgba(1,7,17,.05)),url('assets/hero.jpg');background-size:cover;background-position:center;position:relative;border-bottom:1px solid rgba(0,188,255,.55)}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:linear-gradient(90deg,transparent,#00bfff 25%,#fff 50%,#ff214c 72%,transparent);box-shadow:0 0 15px #00bfff}.scrollcue{text-align:center;font-size:11px;color:#d6ecff;padding:9px;letter-spacing:1px}.section{padding:70px 0}.section.dark{background:linear-gradient(180deg,rgba(2,10,23,.1),rgba(5,20,39,.55))}.kicker{text-transform:uppercase;letter-spacing:5px;color:#67dcff;font-size:13px;text-align:center}.title{font-size:40px;text-align:center;margin:8px 0 10px;line-height:1.1}.title span{background:linear-gradient(90deg,#00c8ff,#a644ff,#ff315b);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{text-align:center;max-width:850px;margin:0 auto 32px;color:var(--muted)}.grid{display:grid;gap:18px}.grid4{grid-template-columns:repeat(4,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.card{background:linear-gradient(145deg,rgba(7,28,54,.94),rgba(2,13,28,.96));border:1px solid rgba(0,166,255,.58);border-radius:18px;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.25)}.card img{width:100%;height:205px;object-fit:cover}.card-body{padding:18px}.card h3{margin:0 0 6px;font-size:19px}.card p{margin:0;color:#9bc8e9;font-size:14px}.arrow{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#0c8df2;margin-top:15px}.band{padding:18px 0;border-top:1px solid rgba(0,175,255,.4);border-bottom:1px solid rgba(255,30,75,.45);text-align:center;letter-spacing:7px;color:#65d8ff}.two{display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:center}.panel{background:rgba(4,17,35,.75);border:1px solid rgba(0,176,255,.35);border-radius:22px;padding:28px;box-shadow:inset 0 0 30px rgba(0,100,255,.07)}.panel h2{margin-top:0}.bullets{padding:0;margin:20px 0;list-style:none}.bullets li{margin:11px 0;padding-left:25px;position:relative;color:#c4e1f8}.bullets li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);position:absolute;left:0;top:9px}.process{width:100%;border-radius:22px;border:1px solid rgba(0,182,255,.4);background:#061326}.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:25px}.step{padding:18px 12px;border:1px solid rgba(0,177,255,.35);border-radius:14px;background:#06162c;text-align:center}.step b{display:block;color:#fff;font-size:14px}.step span{display:block;color:#62d9ff;font-size:12px;margin-top:6px}.feature-stage{position:relative;border-radius:24px;overflow:hidden;border:1px solid #0aaeff;box-shadow:0 0 35px rgba(0,168,255,.18)}.feature-stage img{width:100%;height:560px;object-fit:cover;object-position:center}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.feature{padding:17px;border:1px solid rgba(0,175,255,.5);border-radius:14px;background:#05162c}.feature strong{display:block}.feature small{color:#67d8ff}.video-wrap{border:1px solid rgba(0,181,255,.6);border-radius:22px;overflow:hidden;background:#000;box-shadow:0 0 40px rgba(0,140,255,.16)}video{width:100%;display:block}.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid #18b8ff;border-radius:28px;padding:12px 20px;font-weight:700;background:linear-gradient(90deg,#061b37,#071127);box-shadow:0 0 18px rgba(0,184,255,.18)}.btn.red{border-color:#ff3156}.contact{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field input,.field textarea{background:#041329;border:1px solid rgba(0,177,255,.35);border-radius:10px;padding:13px;color:#fff;font:inherit}.field textarea{min-height:140px;resize:vertical}.footer{padding:35px 0;background:#010611;border-top:1px solid rgba(0,176,255,.35)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer p,.footer li{color:#86b7da;font-size:14px}.footer ul{list-style:none;padding:0}.footer li{margin:8px 0}.edit{position:fixed;right:18px;bottom:18px;z-index:50;border:1px solid #17bbff;background:#03152b;color:#fff;border-radius:25px;padding:10px 16px;cursor:pointer}.editable[contenteditable=true]{outline:1px dashed #00c8ff;outline-offset:4px}.mini{font-size:13px;color:#72d6ff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}.stat{padding:22px;text-align:center;border:1px solid rgba(0,170,255,.3);border-radius:15px}.stat b{font-size:30px;display:block}.timeline{display:grid;gap:12px}.timeline .item{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:17px;border-left:2px solid #12b9ff;background:#051329;border-radius:0 12px 12px 0}.timeline b{color:#6bdcff}
@media(max-width:1100px){.logo{width:330px}.links{gap:16px}.links a{font-size:14px}.cta{padding:10px 16px}.grid4{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.nav{height:72px}.logo{width:250px}.links{display:none}.hamb{display:block;margin-left:auto}.cta{display:none}.hero{min-height:430px;background-position:center top}.section{padding:50px 0}.title{font-size:31px}.two,.contact,.footer-grid{grid-template-columns:1fr}.grid4,.grid3{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.feature-stage img{height:360px}.stats{grid-template-columns:1fr}.band{letter-spacing:3px;font-size:12px}}

/* Product image showcase */
.product-showcase{position:relative;overflow:hidden}
.product-showcase:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(0,170,255,.08),transparent 34%),radial-gradient(circle at 85% 80%,rgba(255,0,80,.06),transparent 32%);pointer-events:none}
.showcase-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.showcase-card{overflow:hidden;border:1px solid rgba(35,145,255,.5);border-radius:18px;background:linear-gradient(145deg,rgba(4,18,42,.96),rgba(2,9,23,.98));box-shadow:0 12px 35px rgba(0,0,0,.22);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.showcase-card:hover{transform:translateY(-5px);border-color:#29a9ff;box-shadow:0 18px 42px rgba(0,102,255,.2)}
.showcase-image{background:#fff;aspect-ratio:16/9;overflow:hidden}
.showcase-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.showcase-card:hover .showcase-image img{transform:scale(1.025)}
.showcase-copy{padding:18px 20px 20px;position:relative}
.showcase-copy>span{font-size:12px;letter-spacing:2px;color:#22a8ff;font-weight:800}
.showcase-copy h3{margin:5px 0 8px;font-size:22px;color:#fff}
.showcase-copy p{margin:0;color:#b9cbe1;line-height:1.65;font-size:14px}
@media(max-width:800px){.showcase-grid{grid-template-columns:1fr}.showcase-copy h3{font-size:19px}}
/* Clickable hero video button */
.hero-video-button{position:absolute;left:4%;bottom:89px;display:inline-flex;align-items:center;gap:12px;padding:14px 24px;border:1px solid #18b8ff;border-radius:32px;background:rgba(2,12,28,.72);color:#fff;font-weight:800;letter-spacing:.3px;box-shadow:0 0 22px rgba(0,174,255,.35),inset 0 0 14px rgba(0,174,255,.12);backdrop-filter:blur(6px);z-index:3;transition:.25s ease}
.hero-video-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 0 30px rgba(0,174,255,.58),inset 0 0 18px rgba(0,174,255,.15)}
.hero-video-button .play{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f21e31;color:#fff;font-size:15px;box-shadow:0 0 15px rgba(255,40,70,.5)}
.process-note{text-align:center;color:#6fdcff;font-size:13px;margin-top:16px;letter-spacing:.5px}
.process-hero{padding-bottom:38px}
.process-gallery{padding-top:35px}
.process-stage{display:grid;grid-template-columns:.92fr 1.08fr;gap:32px;align-items:center;padding:46px 0;border-bottom:1px solid rgba(0,176,255,.18)}
.process-stage.reverse{grid-template-columns:1.08fr .92fr}
.process-stage.reverse .stage-copy{order:2}
.process-stage.reverse .stage-images{order:1}
.stage-copy{display:grid;grid-template-columns:68px 1fr;gap:18px;align-items:start}
.stage-number{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #16baff;color:#fff;font-weight:900;background:radial-gradient(circle,#0b3158,#041326);box-shadow:0 0 20px rgba(0,180,255,.2)}
.kicker.left{text-align:left}
.title.left{text-align:left}
.stage-copy p{color:#a9c8e1;margin:10px 0 14px}
.stage-copy .bullets{margin:8px 0 0}
.stage-images{display:grid;grid-template-columns:1fr;gap:14px}
.stage-images.dual{grid-template-columns:1fr 1fr}
.stage-images figure{margin:0;border:1px solid rgba(0,175,255,.5);border-radius:18px;overflow:hidden;background:#041329;box-shadow:0 12px 32px rgba(0,0,0,.28)}
.stage-images img{width:100%;height:320px;object-fit:cover;display:block;transition:transform .35s ease}
.stage-images figure:hover img{transform:scale(1.025)}
.stage-images.dual img{height:265px}
.stage-images figcaption{padding:11px 14px;color:#fff;font-size:13px;font-weight:800;letter-spacing:.7px;background:linear-gradient(90deg,#071d3b,#051226)}
@media(max-width:900px){.process-stage,.process-stage.reverse{grid-template-columns:1fr}.process-stage.reverse .stage-copy,.process-stage.reverse .stage-images{order:initial}.stage-images.dual{grid-template-columns:1fr}.stage-images img,.stage-images.dual img{height:300px}}
@media(max-width:760px){.hero-video-button{left:5%;bottom:48px;padding:10px 16px;font-size:12px}.hero-video-button .play{width:30px;height:30px;font-size:12px}.stage-copy{grid-template-columns:52px 1fr}.stage-number{width:46px;height:46px;font-size:13px}.process-stage{padding:34px 0}}

/* Facility page */
.facility-hero{min-height:390px;display:flex;align-items:end;padding:80px 0 55px;background:radial-gradient(circle at 80% 20%,rgba(0,190,255,.16),transparent 38%),linear-gradient(135deg,#06182f,#020814 68%);border-bottom:1px solid rgba(0,188,255,.45)}
.facility-hero-copy{max-width:1000px}.lead.left{text-align:left;margin-left:0}.facility-image-section{padding-top:42px;padding-bottom:25px}.facility-image-frame{border:1px solid rgba(0,184,255,.55);border-radius:26px;overflow:hidden;background:#020814;box-shadow:0 18px 55px rgba(0,0,0,.4),0 0 35px rgba(0,160,255,.13)}.facility-image-frame img{width:100%;height:min(72vh,780px);object-fit:cover;object-position:center;display:block}.facility-caption{display:flex;justify-content:space-between;gap:20px;padding:14px 4px;color:#73dfff;font-size:12px;letter-spacing:2px;text-transform:uppercase}.facility-intro p{color:#b8cde1;font-size:16px;line-height:1.8}.facility-address h3{font-size:22px;margin:12px 0 8px}.facility-address p{color:#d6e7f7;line-height:1.8}.facility-icon{width:46px;height:46px;border-radius:12px;border:1px solid #1abaff;display:flex;align-items:center;justify-content:center;color:#6ee0ff;font-weight:900;box-shadow:0 0 18px rgba(0,180,255,.14)}.facility-cards{margin-top:30px}.facility-cards .panel{min-height:220px}.facility-cards h3{margin:20px 0 7px}.facility-cards p{color:#a9c5dd;font-size:14px;line-height:1.7}.facility-cta{display:flex;gap:14px;justify-content:center;margin-top:35px;flex-wrap:wrap}
@media(max-width:760px){.facility-hero{min-height:340px;padding:55px 0 42px}.facility-image-frame img{height:360px}.facility-caption{flex-direction:column;gap:5px}.facility-intro p{font-size:15px}.facility-cards .panel{min-height:auto}}

/* Visual image editor */
.cms-editor-preview img{transform:translate3d(var(--rh-x,0px),var(--rh-y,0px),0) scale(var(--rh-scale,1));transform-origin:center center;}
.rh-image-editing img{outline:2px dashed rgba(0,200,255,.9);outline-offset:3px;cursor:move!important;user-select:none;-webkit-user-drag:none;}
.rh-image-editing img:hover{filter:brightness(1.04);}
.rh-resize-handle{display:none;position:absolute;width:18px;height:18px;border:2px solid #fff;border-radius:4px;background:#00aefb;box-shadow:0 0 0 2px #06162c,0 0 14px rgba(0,200,255,.75);z-index:80;cursor:nwse-resize;touch-action:none;}
.rh-image-editing .rh-resize-handle{display:block;}
.rh-image-editing .hero{cursor:default;}
.rh-image-editing a{cursor:default;}
.rh-image-editing .edit{cursor:pointer;}
.rh-image-editing .card img,.rh-image-editing .showcase-image img,.rh-image-editing .stage-images img,.rh-image-editing .feature-stage img,.rh-image-editing .facility-image-frame img{transition:none!important;}
@media(max-width:760px){.rh-resize-handle{width:16px;height:16px;}}
.rh-image-editing img{position:relative;z-index:4;}
.rh-image-editing img{touch-action:none!important;-webkit-user-select:none!important;user-select:none!important;}
.rh-editor-active .rh-added-element{pointer-events:auto!important;touch-action:none;}
.rh-image-editing img:not(.logo){ }

/* Full website visual editor */
.rh-text-editing .editable[contenteditable="true"]{
  outline:1px dashed rgba(0,200,255,.9);
  outline-offset:4px;
  cursor:text;
  min-height:1em;
}
.rh-text-editing .editable[contenteditable="true"]:focus{
  outline:2px solid #00c8ff;
  outline-offset:5px;
  box-shadow:0 0 0 4px rgba(0,200,255,.10);
}
.rh-text-editing .edit{cursor:pointer!important;}
.rh-text-editing input,.rh-text-editing textarea{cursor:text;}

/* Persistent editor save indicator */
.rh-save-status{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:100;color:#fff;background:rgba(3,20,42,.96);border:1px solid rgba(0,200,255,.7);border-radius:22px;padding:9px 16px;font-size:13px;font-weight:700;box-shadow:0 8px 28px rgba(0,0,0,.35),0 0 18px rgba(0,180,255,.18);pointer-events:none;min-width:0;text-align:center;white-space:nowrap}
.edit:disabled{opacity:.7;cursor:wait}

/* Advanced add/edit controls */
.rh-editor-toolbar{position:fixed;top:94px;left:50%;transform:translateX(-50%) translateY(-12px);width:min(1180px,calc(100% - 28px));display:none;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(0,200,255,.65);border-radius:16px;background:rgba(2,12,28,.97);backdrop-filter:blur(16px);box-shadow:0 12px 45px rgba(0,0,0,.45),0 0 28px rgba(0,174,255,.16);z-index:120}
.rh-editor-toolbar.show{display:flex;transform:translateX(-50%) translateY(0)}
.rh-tool-group{display:flex;align-items:center;gap:6px;padding:0 6px;border-right:1px solid rgba(120,190,230,.18)}
.rh-tool-group:last-child{border-right:0}
.rh-editor-toolbar button,.rh-editor-toolbar select,.rh-editor-toolbar input{font:inherit}
.rh-editor-toolbar button{height:34px;border:1px solid rgba(0,190,255,.5);border-radius:8px;background:#061a34;color:#fff;padding:0 10px;cursor:pointer;font-weight:700}
.rh-editor-toolbar button:hover{border-color:#2ed2ff;background:#092647}
.rh-editor-toolbar button.danger{border-color:rgba(255,55,90,.7);color:#ff9bad}
.rh-editor-toolbar label{display:flex;align-items:center;gap:4px;color:#9fd3f4;font-size:11px;white-space:nowrap}
.rh-editor-toolbar select,.rh-editor-toolbar input[type=number]{height:32px;border:1px solid rgba(0,190,255,.38);border-radius:7px;background:#041329;color:#fff;padding:0 7px;min-width:64px}
.rh-editor-toolbar input[type=number]{width:76px}
.rh-editor-toolbar input[type=color]{width:34px;height:32px;padding:2px;border:1px solid rgba(0,190,255,.38);border-radius:7px;background:#041329}
.rh-editor-toolbar .check{padding-left:4px}
.rh-editor-toolbar input[type=checkbox]{accent-color:#00bfff}
.rh-added-layer{position:absolute;left:0;top:0;width:100%;height:100%;min-height:100vh;pointer-events:none;z-index:45}
.rh-added-element{pointer-events:auto;box-sizing:border-box}
.rh-added-text{min-height:42px;white-space:pre-wrap;word-break:break-word}
.rh-editor-active .rh-added-element{outline:1px dashed rgba(0,200,255,.7);outline-offset:3px}
.rh-added-element.rh-selected,.rh-editor-active img.rh-selected{outline:2px solid #00c8ff!important;outline-offset:4px;box-shadow:0 0 0 4px rgba(0,200,255,.12),0 0 25px rgba(0,180,255,.2)!important}
.rh-image-editing img{max-width:none}
.rh-editor-active .rh-added-element[contenteditable=true]{cursor:text}
@media(max-width:800px){.rh-editor-toolbar{top:78px;gap:4px;padding:8px}.rh-tool-group{border-right:0;padding:2px}.rh-editor-toolbar label{font-size:10px}.rh-editor-toolbar select{max-width:110px}.rh-editor-toolbar .rh-size-group{width:100%;justify-content:center}}

/* Existing website text boxes are fully movable in Edit Website mode. */
.cms-editor-preview .editable{transform:translate3d(var(--rh-tx,0px),var(--rh-ty,0px),0);transform-origin:center center;}
.rh-text-editing .editable[contenteditable="true"]{cursor:move;}
.rh-text-editing .editable[contenteditable="true"]:focus{cursor:text;}
.rh-text-editing .rh-resize-handle{display:block;}
.rh-editor-toolbar button:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.35)}

/* Page deletion control */
.rh-editor-toolbar .rh-delete-page{border-color:rgba(255,55,90,.9);background:#3a0b18;color:#ffb2bf}
.rh-editor-toolbar .rh-delete-page:hover{background:#5a1022;border-color:#ff4f70}
.rh-editor-toolbar [data-act="add-page"]{border-color:rgba(60,220,140,.75);background:#082b22;color:#c9ffe2}
.rh-editor-toolbar [data-act="add-page"]:hover{background:#0b3d2f;border-color:#66f0ad}


/* ================================================================
   RAVIRAJ HOLOVISIONS — RESPONSIVE PRODUCTION LAYOUT
   Public-site rules only. The visual editor gets its fixed 1600px
   canvas from page.php when cms_live_editor is enabled.
   ================================================================ */
html,body{width:100%;min-width:0!important;max-width:100%;overflow-x:hidden!important}
#cms-main,.cms-global-header-shell,.cms-global-footer-shell{width:100%;min-width:0!important;max-width:100%}
.container{width:min(1440px,calc(100% - 40px));max-width:100%;}
img,video,svg,iframe{max-width:100%}
.card,.panel,.showcase-card,.feature-stage,.video-wrap,.process-stage,.stage-images,.facility-image-frame{min-width:0}
.grid4,.grid3,.steps,.stats,.feature-list,.footer-grid,.contact,.two,.showcase-grid{min-width:0}

@media (max-width:1240px){
  .nav{gap:18px}
  .logo{width:330px;max-width:42vw}
  .links{gap:16px}
  .links a{font-size:14px;padding-left:2px;padding-right:2px}
  .cta{padding:10px 16px}
  .container{width:min(1120px,calc(100% - 36px))}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:980px){
  .topbar{position:sticky}
  .nav{height:auto;min-height:74px;flex-wrap:wrap;padding:8px 0;gap:10px 16px}
  .logo{width:300px;max-width:46vw;height:58px}
  .cta{display:none}
  .links{order:3;width:100%;margin-left:0;display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;scrollbar-width:thin;padding:0 2px 7px;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .links a{flex:0 0 auto;padding:7px 2px 8px;font-size:14px}
  .links a.active:after,.links a:hover:after{bottom:1px}
  .hamb{display:none}
  .hero{min-height:clamp(430px,56vw,570px)}
  .hero-video-button{left:clamp(18px,4vw,58px);bottom:clamp(24px,7vw,70px);padding:12px 18px;font-size:14px}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two,.contact{grid-template-columns:1fr}
  .two{align-items:stretch}
  .feature-stage{width:100%;height:auto;max-height:none}
  .feature-stage img{height:auto;min-height:300px;max-height:560px}
  .process-stage,.process-stage.reverse{grid-template-columns:1fr;gap:24px}
  .process-stage.reverse .stage-copy,.process-stage.reverse .stage-images{order:initial}
  .stage-images.dual{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:700px){
  .container{width:calc(100% - 28px)}
  .nav{min-height:68px}
  .logo{width:240px;max-width:68vw;height:50px}
  .links{gap:16px}
  .links a{font-size:13px}
  .hero{min-height:400px;background-position:center center}
  .hero-video-button{left:16px;right:16px;bottom:22px;width:auto;justify-content:center;padding:10px 14px;font-size:12px;gap:9px}
  .hero-video-button .play{width:30px;height:30px;font-size:12px;flex:0 0 30px}
  .section{padding:46px 0}
  .title{font-size:clamp(27px,7vw,34px);overflow-wrap:anywhere}
  .kicker{font-size:11px;letter-spacing:3px}
  .lead{font-size:14px;line-height:1.65}
  .grid4,.grid3,.steps,.stats,.feature-list,.showcase-grid,.footer-grid{grid-template-columns:1fr}
  .grid{gap:16px}
  .card img{height:auto;aspect-ratio:16/10;object-fit:cover}
  .card-body{padding:16px}
  .card h3{font-size:18px}
  .two{gap:20px}
  .panel{padding:20px;border-radius:18px}
  .steps{gap:9px}
  .step{padding:14px 10px}
  .feature-stage{border-radius:18px}
  .feature-stage img{min-height:0;height:auto;aspect-ratio:16/10;object-fit:cover}
  .feature-list{gap:10px}
  .process-stage{padding:32px 0}
  .stage-copy{grid-template-columns:48px 1fr;gap:12px}
  .stage-number{width:44px;height:44px;font-size:12px}
  .stage-images.dual{grid-template-columns:1fr}
  .stage-images img,.stage-images.dual img{height:auto;aspect-ratio:16/10;object-fit:cover}
  .facility-hero{min-height:320px;padding:52px 0 38px}
  .facility-image-frame{border-radius:18px}
  .facility-image-frame img{height:auto;max-height:none;aspect-ratio:16/10;object-fit:cover}
  .facility-caption{flex-direction:column;gap:6px}
  .facility-intro p{font-size:14px}
  .timeline .item{grid-template-columns:1fr;gap:7px}
  .footer{padding:30px 0}
  .footer-grid{gap:20px}
  #rh-live-chat{right:12px;bottom:12px}
}

@media (max-width:420px){
  .container{width:calc(100% - 22px)}
  .logo{width:205px;max-width:65vw;height:46px}
  .links{gap:13px}
  .links a{font-size:12px}
  .hero{min-height:350px}
  .hero-video-button{left:11px;right:11px}
  .section{padding:38px 0}
  .panel{padding:16px}
  .title{font-size:26px}
  .band{letter-spacing:2px;font-size:10px;padding:14px 8px}
}

/* Prevent long CMS-authored text from widening a responsive grid. */
main,.cms-global-header-shell,.cms-global-footer-shell{overflow-wrap:anywhere}
main p,main h1,main h2,main h3,main h4,main h5,main h6,main li{max-width:100%;word-wrap:break-word}

/* Touch devices should not rely on hover-only enlargement. */
@media (hover:none){
  .showcase-card:hover{transform:none}
  .showcase-card:hover .showcase-image img,.stage-images figure:hover img{transform:none}
  .hero-video-button:hover{transform:none}
}


/* ================================================================
   v45 RESPONSIVE STABILITY LAYER
   The public site must never inherit the visual editor's pixel canvas,
   translation variables, or fixed-width geometry. Grid children are allowed
   to shrink, media stays inside its container, and typography scales with
   the viewport. The editor canvas remains unchanged.
   ================================================================ */
html,body{max-width:100%;overflow-x:hidden}
main,.cms-global-header-shell,.cms-global-footer-shell{width:100%;min-width:0}
.container{width:min(1440px,calc(100% - 32px));max-width:100%;min-width:0}
.grid,.two,.contact,.footer-grid,.stats,.steps,.feature-list,.showcase-grid,.process-stage,.process-stage.reverse{min-width:0}
.grid>* , .two>* , .contact>* , .footer-grid>* , .stats>* , .steps>* , .feature-list>* , .showcase-grid>* , .process-stage>*{min-width:0;max-width:100%}
.two{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{min-width:0;overflow:hidden;overflow-wrap:normal;word-break:normal}
.stat b{font-size:clamp(24px,3vw,30px);white-space:normal;overflow-wrap:normal;word-break:normal}
.stat *{max-width:100%}
img,video{max-width:100%;height:auto}
.hero{width:100%;max-width:100vw}
.hero-video-button{max-width:calc(100% - 32px)}
.feature-stage,.video-wrap,.facility-image-frame,.card,.showcase-card,.panel,.process{max-width:100%}

@media (max-width:1200px){
  .nav{gap:18px}
  .logo{width:min(360px,34vw)}
  .links{gap:18px}
  .links a{font-size:14px}
  .cta{padding:10px 16px}
  .two{gap:24px}
}
@media (max-width:1000px){
  .logo{width:min(300px,42vw)}
  .links{gap:12px}
  .links a{font-size:13px}
  .two{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .process-stage,.process-stage.reverse{grid-template-columns:1fr}
}
@media (max-width:760px){
  html,body{overflow-x:hidden}
  .container{width:calc(100% - 24px)}
  .nav{height:72px;gap:10px}
  .logo{width:min(250px,68vw);height:50px}
  .hero{min-height:430px;background-position:center center}
  .hero-video-button{left:12px;right:12px;bottom:22px;width:auto}
  .section{padding:48px 0}
  .two,.contact,.footer-grid{grid-template-columns:1fr}
  .grid4,.grid3,.steps,.stats,.feature-list,.showcase-grid{grid-template-columns:1fr}
  .feature-stage img{height:auto;aspect-ratio:16/10}
  .stats{gap:10px}
  .stat{padding:18px 14px}
  .stat b{font-size:27px}
  .process-stage,.process-stage.reverse{grid-template-columns:1fr}
  .stage-copy{grid-template-columns:46px minmax(0,1fr)}
  .stage-images.dual{grid-template-columns:1fr}
  .footer-grid{gap:20px}
}
@media (max-width:420px){
  .container{width:calc(100% - 18px)}
  .logo{width:min(205px,64vw);height:46px}
  .hero{min-height:350px}
  .title{font-size:clamp(24px,8vw,30px)}
  .panel{padding:16px}
  .stat{padding:16px 12px}
}

/* Final responsive safety: editor-generated inline geometry must not constrain public layout. */
body:not(.rh-editor-active) #cms-main img,body:not(.rh-editor-active) #cms-main video,body:not(.rh-editor-active) #cms-main svg,body:not(.rh-editor-active) #cms-main iframe{max-width:100%;}
body:not(.rh-editor-active) #cms-main .card img{width:100%!important;object-fit:cover;}
body:not(.rh-editor-active) #cms-main .stats{width:100%;}
body:not(.rh-editor-active) #cms-main .stat{width:auto!important;max-width:100%;}
#cms-main .stat span{display:block;white-space:normal;overflow-wrap:normal;word-break:normal;}
@media(max-width:760px){body:not(.rh-editor-active) #cms-main .card img{height:auto!important;aspect-ratio:4/3;object-fit:cover;}body:not(.rh-editor-active) #cms-main .stat{width:100%!important;}}


/* ===== v68 FINAL HOME + ABOUT ALIGNMENT REPAIR ===== */
/* RAVIRAJ HOLOVISIONS v67 - final Home CTA + Leadership geometry repair */

/* HOME: one real HTML CTA; keep it anchored to the hero, not to zoomed content. */
body:not(.rh-editor-active) #cms-main .hero .hero-video-button{
  position:absolute!important;
  left:clamp(18px,4vw,58px)!important;
  right:auto!important;
  top:auto!important;
  bottom:72px!important;
  inset-inline-end:auto!important;
  inset-block-start:auto!important;
  margin:0!important;
  width:max-content!important;
  max-width:calc(100% - 36px)!important;
  display:inline-flex!important;
  transform:none!important;
  transition:none!important;
  z-index:20!important;
}
body:not(.rh-editor-active) #cms-main .hero .hero-video-button *{
  transform:none!important;
}

/* ABOUT / LEADERSHIP — stable public order matching the visual editor.
   Older saved pages can contain the second leadership photo inside .card-body.
   page.php normalizes that wrapper before the card body; these rules then keep
   the image slot stable without stripping saved editor geometry. */
body:not(.rh-editor-active) #cms-main .grid3 > .card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-width:0!important;
  overflow:hidden!important;
  position:relative!important;
}
body:not(.rh-editor-active) #cms-main .grid3 > .card > img,
body:not(.rh-editor-active) #cms-main .grid3 > .card > picture,
body:not(.rh-editor-active) #cms-main .grid3 > .card > .cms-image-box{
  order:-100!important;
  flex:0 0 auto!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
}
body:not(.rh-editor-active) #cms-main .grid3 > .card > img{
  height:205px;
  object-fit:cover;
  object-position:center center;
}
body:not(.rh-editor-active) #cms-main .grid3 > .card > picture > img,
body:not(.rh-editor-active) #cms-main .grid3 > .card > .cms-image-box > img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%;
  max-height:none;
  margin:0!important;
  object-fit:cover;
  object-position:center center;
}
body:not(.rh-editor-active) #cms-main .grid3 > .card > .card-body{
  order:0!important;
  position:static!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
}
@media(max-width:760px){
  body:not(.rh-editor-active) #cms-main .grid3 > .card > img,
  body:not(.rh-editor-active) #cms-main .grid3 > .card > picture,
  body:not(.rh-editor-active) #cms-main .grid3 > .card > .cms-image-box{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:4/3;
  }
}

/* ================================================================
   STABLE MASTER RESPONSIVE LAYER — 2026-09-27
   This layer fixes only public geometry. It does not alter editor tools,
   uploads, chat, login, database or saved content.
   ================================================================ */

/* Header: never allow navigation labels to wrap into individual letters. */
.cms-global-header-shell,
.cms-global-header-shell .topbar,
.cms-global-header-shell .nav{width:100%;max-width:100%;min-width:0;}
.cms-global-header-shell .nav{flex-wrap:nowrap;overflow:visible;}
.cms-global-header-shell .nav > a:first-child{flex:0 1 auto;min-width:0;}
.cms-global-header-shell .logo{display:block;width:clamp(270px,28vw,430px);max-width:100%;height:68px;}
.cms-global-header-shell .links{flex:0 1 auto;min-width:0;flex-wrap:nowrap;white-space:nowrap;gap:clamp(12px,1.7vw,30px);}
.cms-global-header-shell .links a{flex:0 0 auto;white-space:nowrap;word-break:normal;overflow-wrap:normal;}
.cms-global-header-shell .cta{flex:0 0 auto;white-space:nowrap;}

/* Compact desktop layout for browser zoom levels around 110–125%. */
@media (max-width:1350px) and (min-width:1181px){
  .cms-global-header-shell .nav{gap:14px;}
  .cms-global-header-shell .logo{width:300px;height:62px;}
  .cms-global-header-shell .links{gap:12px;}
  .cms-global-header-shell .links a{font-size:13px;padding-left:1px;padding-right:1px;}
  .cms-global-header-shell .cta{padding:10px 14px;font-size:13px;}
}

/* At very high zoom, switch cleanly to the existing mobile menu instead of
   squeezing the desktop navigation. */
@media (max-width:1180px){
  .cms-global-header-shell .nav{height:72px;min-height:72px;gap:10px;}
  .cms-global-header-shell .logo{width:min(280px,68vw);height:56px;}
  .cms-global-header-shell .links{display:none;}
  .cms-global-header-shell .cta{display:none;}
  .cms-global-header-shell .hamb{display:block;margin-left:auto;flex:0 0 auto;cursor:pointer;}
}

/* Leadership normalization is defined in the stable ABOUT block above. */

/* Facility and feature images must fill their frames consistently. */
body:not(.rh-editor-active) #cms-main .facility-image-frame{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
body:not(.rh-editor-active) #cms-main .facility-image-frame img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:min(72vh,780px)!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  transform:none!important;
}
body:not(.rh-editor-active) #cms-main .feature-stage{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
body:not(.rh-editor-active) #cms-main .feature-stage img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:560px!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  transform:none!important;
}

/* Home hero CTA: one stable HTML control; no zoom-dependent transforms. */
body:not(.rh-editor-active) #cms-main .hero{width:100%!important;max-width:100%!important;overflow:hidden;}
body:not(.rh-editor-active) #cms-main .hero .hero-video-button{
  position:absolute!important;
  left:clamp(18px,4vw,58px)!important;
  right:auto!important;
  top:auto!important;
  bottom:72px!important;
  margin:0!important;
  width:max-content!important;
  max-width:calc(100% - 36px)!important;
  transform:none!important;
  transition:none!important;
  z-index:20!important;
}

@media (max-width:760px){
  body:not(.rh-editor-active) #cms-main .grid3 > .card > img,
  body:not(.rh-editor-active) #cms-main .grid3 > .card > picture,
  body:not(.rh-editor-active) #cms-main .grid3 > .card > picture > img{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:4/3;object-fit:cover;}
  body:not(.rh-editor-active) #cms-main .facility-image-frame img{height:auto!important;aspect-ratio:16/10;object-fit:cover;}
  body:not(.rh-editor-active) #cms-main .feature-stage img{height:auto!important;aspect-ratio:16/10;object-fit:cover;}
  body:not(.rh-editor-active) #cms-main .hero .hero-video-button{left:16px!important;right:16px!important;bottom:22px!important;width:auto!important;max-width:none!important;justify-content:center;}
}
