@import url("../fonts/stylesheet.css");
@import url("menu.css?v=20260629c");

html.lenis{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto;}
.lenis.lenis-smooth[data-lenis-prevent]{overscroll-behavior:contain;}
.lenis.lenis-stopped{overflow:hidden;}
.lenis.lenis-scrolling iframe{pointer-events:none;} 
:root{
    --bacalisties:'Bacalisties';
    --jost: "Jost", sans-serif;
    --red:#ff0005;
    --blue:rgba(0, 101, 161,1);
    --persian-blue:rgba(20,43,109,1);
    --blue-gray:#e9f4fa;
    --white:#FFFFFF;
    --black:#000000;
    --gray1:#333333;
    --gray2:#b3b3b3;
    --gray3:#c8c8c8;
    --cream:#ffeec3;
}
body{font-family:var(--jost);color:var(--gray);font-size:1.25rem;margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{margin:0 0 1.5rem 0;padding:0;font-weight:normal;font-family:var(--jost);}
a{color:var(--black);}
a:hover,a:focus{color:var(--blue);}
header,header::before,.FSRE,.FSRE img,.btn,.search-link,.social-menu li a img,.project-gallery li a img,.project-dtl,.project-photo img,.foot-social li a img,.instagram ul li a img,footer a,.foot-links li a::before,.menu-list li a img,.read-more-btn,.read-more-btn span,.read-more-btn span img
{transition:all 0.3s ease 0s;}
header{z-index:80;transition:all 0.3s ease 0s;width:100%;/*box-shadow:0 1px 5px rgba(0,0,0,0.05)*/}
header::before{content:'';position:absolute;width:100%;height:100%;left:0%;top:0;display:none;content:'';z-index:-1;background-color:var(--blue);}
.FSRE{width:150px;margin-left:2rem}
.logobar .FSRE{display:none;}
.search-main{position:absolute;left:34.8958333333%;transition:all 0.5s ease 0s;width:68px;height:68px;overflow:hidden;top:0;background-color:rgba(0,0,0,0.5);align-items:center;justify-content:center;}
.search-main[data-aos^=fade][data-aos^=fade]
 {
    transition-property:all;
}
.search-btn a,.search-btn button,.search-input .form-control{height:68px;border-radius:0;}
.search-btn{z-index:8;}
.search-btn,.search-btn a,.search-btn button{width:68px;height:100%;position:absolute;right:0;top:0;}
.search-btn a,.search-btn button{background-color:rgba(0,0,0,0);padding:0;appearance:none;box-shadow:none;border:none;display:flex;align-items:center;justify-content:center;}
.search-input{position:absolute;z-index:1;width:calc(350px - 68px) ;right:68px;transition:all 0.5s ease 0s;}
.search-input .form-control{width:100%;font-size:1.5rem;border:none;}
.form-control:focus{box-shadow:0 0 0 .25rem rgba(0,0,0,.25)}
.search-btn img{width:50%;display:block;}
.search-btn .search-link{align-items:center;justify-content:center;z-index:9;}
.search-btn button{z-index:1;transition:all 0.5s ease 0s;}
.search-btn:hover a,.search-btn:hover button{background-color:rgba(0,0,0,1);}
.search-input .form-control{position:relative;z-index:1;}
.search-main.show{width:350px;}
.search-main.show .search-input{right:68px;transition:none}
.search-main.show .search-link{z-index:0;}
.search-main.show button{background-color:rgba(0,0,0,0.5);}

.right-header{position:fixed;top:0;right:0;width:135px;height:100vh;background-color:rgba(0,0,0,0.5);z-index:99;display:flex;align-items:center;justify-content:space-between;flex-direction:column;}
.menu-list{padding-top:0rem;text-align:center;}
.menu-list li{margin-top:2rem;}
.menu-list li + li{padding-bottom:7px;}
.menu-list li a{width:32px;margin:0 auto;}
.menu-list li a img{width:100%;}
.menu-list li a.quick-link{opacity:0.85;transition:opacity 0.25s ease;}
.menu-list li a.quick-link:hover,.menu-list li a.quick-link:focus{opacity:1;}
.menu-list li:nth-child(2) a{width:32px}
.menu-list li a:hover img{opacity:0.5;}
/* Right-hand strip — text labels instead of icons. Overrides the 32px icon
   sizing (incl. the li:nth-child(2) rule) that the SVG buttons relied on. */
.right-header .menu-list--text li a,
.right-header .menu-list--text li:nth-child(2) a{width:auto;}
.right-header .menu-list--text .menu-link-wrap{width:auto;height:auto;}
/* The ul/li are flex items; their default min-width:auto lets a long label
   spill past the rail (135px, and only 100px between 1300-1439px). Constrain
   them so "REQUEST FORMS" wraps inside the strip instead of clipping. */
@media (min-width:768px){
  .right-header .menu-list--text{width:100%;min-width:0;}
  .right-header .menu-list--text li,
  .right-header .menu-list--text li a,
  .right-header .menu-list--text li:nth-child(2) a,
  .right-header .menu-list--text .menu-link-wrap{width:100%;}
}
/* At 1300-1439px the rail narrows to 100px and the label wraps to two
   centred lines (REQUEST / FORMS) rather than shrinking further. */
.right-header .menu-list--text .strip-text{display:block;width:auto;max-width:100%;height:auto;padding:0 8px;font-family:var(--jost),'Jost',sans-serif;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--white);text-decoration:none;line-height:1.5;text-align:center;overflow-wrap:break-word;opacity:0.85;transition:opacity 0.25s ease;}
.right-header .menu-list--text .strip-text:hover,.right-header .menu-list--text .strip-text:focus{opacity:1;color:var(--white);}
/* The strip sits above the open menu (z-index 99 vs 85), so the trigger keeps
   an explicit close affordance now that the animated hamburger is gone. */
.right-header .menu-list--text .menu-link .lbl-close{display:none;}
.right-header .menu-list--text .menu-link.active .lbl-open{display:none;}
.right-header .menu-list--text .menu-link.active .lbl-close{display:inline;}
.menu-list li a svg{width:100%;height:32px;color:#fff;display:block;transition:opacity 0.2s ease;}
.menu-list li a:hover svg{opacity:0.5;}
.menu-list li .home-link,.menu-list li .service-link{width:32px;display:block;margin:0 auto;}
.header-menu-link{width:36px;height:24px;display:flex;align-items:center;justify-content:center;color:#fff;}
.header-menu-link svg{width:100%;height:auto;color:#fff;transition:opacity 0.2s ease;}
.header-menu-link:hover svg{opacity:0.6;}
.social-link{display:none;width:40px;height:40px;}
.social-menu{display:flex;flex-direction:column;justify-content: center;align-items: center;}
.social-menu li{margin-bottom:31px;}
.social-menu li a{display:block;width:23px;}
.social-menu li a img{width:100%;filter:invert(1);}
.social-menu li a:hover img{opacity:0.5;}
.slide-holder{overflow:hidden;min-height:100vh;}
.slide-holder img{max-width:100%;min-width:100%;min-height:100%;object-fit:cover;position: absolute;left:50%;bottom: 0%;transform:translateX(-50%);}
.slide-holder img:nth-child(2){z-index:9;}
.logobar-banner{background-color:rgba(0,0,0,0.7);width:34.8958333333%;}
.logobar-banner .FSRE{width:66.6666666667%;display:block;margin:0 auto;margin-bottom:3rem;}
.logobar-banner .FSRE img{filter:invert(1) brightness(2)}
.logobar-banner .FSRE .fsre-logo-top{display:block;width:24.6%;margin:0 auto 4rem;}
.logobar-banner .FSRE .fsre-logo-top img,.logobar-banner .FSRE .fsre-logo-bottom img{display:block;width:100%;}
.banner-contents{width:100%;height:100vh;display:flex;color:var(--white);text-align:center;}
.banner-contents p{color:var(--white);font-size:1.25rem;margin-bottom:0.4rem;}
.banner-contents h1{font-size:2.75rem;font-family:var(--jost);margin:0;line-height:1.35;letter-spacing:0.5px;}
.banner-contents .sub-title{font-size:4rem;font-family:var(--bacalisties);;}
.banner-contents h1,.banner-contents .sub-title{transition-timing-function:ease;transition-property:all;transition-duration:1s;transform:translateY(100px);opacity:0;}
.banner-contents h1{transition-delay:0.25s;}
.banner-contents .sub-title{transition-delay:0.5s;}
.banner-contents p[data-aos^=fade][data-aos^=fade].aos-animate + h1,
.banner-contents p[data-aos^=fade][data-aos^=fade].aos-animate + h1 + .sub-title
{opacity:1;transform:translateZ(0);}
.banner-contents > div > h1:first-child{opacity:1;transform:translateZ(0);}
.banner-welcome{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;}
.banner-welcome-title{color:var(--white);font-size:1.1rem;font-family:var(--jost);letter-spacing:0.05em;opacity:0.85;margin-bottom:0.3rem;}
.banner-welcome-subtitle{color:var(--white);font-size:1.6rem;font-family:var(--jost);font-weight:600;line-height:1.3;}
.banner-welcome-desc{color:rgba(255,255,255,0.8);font-size:1rem;line-height:1.75;margin-top:1rem;max-width:520px;}
.sub-title{}
@media (min-width: 992px) {
    header.smaller{/*background-color:rgba(0,0,0,0.5)*/}
  }
  
.welcome{position:relative;z-index:5;display:flex;align-items:stretch;background-color:var(--white);overflow:hidden;}
.welcome-building-col{flex:0 0 38%;display:flex;align-items:flex-end;overflow:hidden;}
.welcome-building{width:82%;margin:0 auto;}
.welcome-building .building-base{width:100%;display:block;}
.welcome-building .building-anim{width:100%;top:0;left:0;}
.welcome-text-col{flex:1;display:flex;align-items:center;justify-content:center;padding:70px 80px 70px 60px;}
.welcome-text{max-width:640px;text-align:center;}
.welcome-text h4,.building-left h4{font-size:1.6rem;margin-bottom:0.6rem;}
.welcome-text h3,.building-left h3{font-size:2.1rem;margin-bottom:2rem;line-height:1.25;}
.welcome-text p,.building-contents p{font-size:1.05rem;line-height:1.85;text-align:justify;}
.welcome-centered{justify-content:center;}
.welcome-centered .welcome-text-col{padding:70px 120px;}
.welcome-centered .welcome-text{max-width:800px;}
.welcome-slogan{font-size:2.8rem;font-weight:700;line-height:1.25;margin-bottom:2rem;text-transform:uppercase;letter-spacing:0.02em;}
.FSRE-text{flex:0 0 calc(65.15625% - 135px)}
.FSRE-text picture{display:block;}
.FSRE-strip{flex:0 0 135px;background-color:var(--white);}
.btn{padding:0.75rem 3rem;font-size:15px;text-align:justify;color:var(--black);display:inline-block;background-color:#d7d7d7;border-radius:0;}
.btn:hover{background-color:var(--black);color:var(--white)}
.building-text{padding-bottom:5rem;}
.building-text .building-contents{margin:7rem 0 0rem 0 }
/* .building-text .building-contents + .building-contents{margin:2rem 0 0 0;} */
.building-left h4{margin-bottom:1.75rem;}
.building-left h3{margin-bottom:1rem;}
.building-left{max-width:400px;width:400px;}
.building-right{padding-right:calc(var(--bs-gutter-x) * 2);}
.building-base{z-index:1;opacity:0.3;top:0;left:0;}
.building-anim{z-index:5;opacity:0.5;top:0;left:0;}
.banner-contents picture{display:none;width:100%;}
.why-choose{background-color:var(--black);color:#f7f0de;padding:5rem 135px 5rem 90px}
h1{font-size:2rem;font-weight:400;}
.why-choose h1{margin-bottom:1rem;}
.why-choose .col-12 h3{color:#f7f0de;font-size:1rem;font-size:1.5rem}
.why-choose .col-12 p{margin-bottom:0;text-align: center;}
.who-we-text{max-width:1200px;margin:0 auto;}
.why-us-card h3{text-align:center;color:#f7f0de;font-size:1.5rem;}
.icon-holder{height:60px;margin:0 auto 3.438rem auto;text-align:center;}
.icon-holder img{filter:invert(1);height:100%;}

.app-type{ }
.swiper-tabs {
  display:flex;
  gap:20px;
  margin:10px 0 20px 0;width:100%;justify-content:flex-start;flex-wrap:wrap;
}

.swiper-tabs button {
  background: none;
  border: none;
  font-size:14px;
  cursor: pointer;
  opacity: 0.75;
  padding: 5px 0;
  position: relative;text-transform: uppercase;line-height: 1.2;
}

.swiper-tabs button.active {
  opacity: 1;
  font-weight: 600;
}

.swiper-tabs button.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 2px;
  background: #000;
}

/* Swipers */
.textSwiper {
  height:225px;/* */
}

.imageSwiper img {
  width: 100%;
  display: block;
}
.text-card{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.carousel-container{width:58%;padding:2rem 3rem;background:rgba(255,255,255,1) url(../images/FSRE-letter.svg) left top no-repeat;background-size:100%; z-index:9;left:34.8958333333%;}
.swiper-tabs{position:relative;right:auto;top:auto;}
.carousel-container h2{font-size:1.5rem;font-weight:500;}
.textSwiper p{font-size:1rem;font-weight:400;}
.swiper-controls{bottom:-45px;width:128px;height:46px;}
.swiper-controls div{height:46px;width:64px;background-color:rgba(255,255,255,0.85);}
.swiper-controls .text-button-prev{left:0;}
.swiper-controls .text-button-next{right:0;}
.swiper-button-next:after, .swiper-button-prev:after{font-size:20px;filter:invert(1) grayscale(1) brightness(0);}
.textSwiper .swiper-slide{}
.imageSwiper .swiper-slide{background-color:var(--white);height:auto;}

/* === Properties editorial layout (LIGHT, white) — used on home & /option1 === */
.opt1-properties{
  --pf-bg:#ffffff;
  --pf-fg:#101010;
  --pf-fg-soft:rgba(16,16,16,0.62);
  --pf-rule:rgba(16,16,16,0.14);
  --pf-rule-soft:rgba(16,16,16,0.08);
  background:var(--pf-bg);
  color:var(--pf-fg);
  padding:6rem 0 7rem;
  position:relative;overflow:hidden;
}
.opt1-properties::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(900px 460px at 90% 0%, rgba(16,16,16,0.025), transparent 65%);
  pointer-events:none;
}
.opt1-inner{max-width:1440px;margin:0 auto;padding:0 clamp(1.5rem, 4vw, 5rem);position:relative;}
.opt1-header{display:grid;gap:1rem;margin-bottom:3rem;}
.opt1-eyebrow{
  font-size:0.72rem;letter-spacing:0.36em;text-transform:uppercase;
  color:var(--pf-fg-soft);font-weight:500;
}
.opt1-eyebrow::before{
  content:"";display:inline-block;width:32px;height:1px;background:var(--pf-fg-soft);
  vertical-align:middle;margin-right:14px;transform:translateY(-3px);
}
.opt1-title{
  font-family:var(--jost);font-size:clamp(2.5rem, 5vw, 4.25rem);
  font-weight:300;letter-spacing:-0.02em;line-height:1;
  text-transform:uppercase;color:var(--pf-fg);margin:0;
}
.opt1-tabs{
  display:flex;flex-wrap:wrap;gap:0;width:100%;margin-top:1rem;
  border-top:1px solid var(--pf-rule);border-bottom:1px solid var(--pf-rule);
}
.opt1-tabs button{
  background:transparent;border:0;cursor:pointer;
  font-family:var(--jost);font-size:0.78rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--pf-fg-soft);
  padding:1.15rem 0;margin-right:2rem;position:relative;line-height:1.2;
  transition:color .35s ease;
}
.opt1-tabs button:hover{color:var(--pf-fg);}
.opt1-tabs button.active{color:var(--pf-fg);}
.opt1-tabs button.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--pf-fg);
}
.opt1-swiper{overflow:visible;}
.opt1-swiper .swiper-slide{height:auto;opacity:0;visibility:hidden;transition:opacity .55s ease;}
.opt1-swiper .swiper-slide-active{opacity:1;visibility:visible;}
.opt1-row{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(2rem, 4vw, 4.5rem);align-items:start;
}
.opt1-info{display:flex;flex-direction:column;gap:1.4rem;padding-top:0.5rem;}
.opt1-index{
  font-family:var(--jost);font-size:0.72rem;letter-spacing:0.36em;
  text-transform:uppercase;color:var(--pf-fg-soft);
}
.opt1-name{
  font-family:var(--jost);font-weight:400;
  font-size:clamp(1.75rem, 3vw, 2.6rem);line-height:1.08;
  letter-spacing:-0.01em;text-transform:uppercase;color:var(--pf-fg);margin:0;
}
.opt1-content{color:rgba(16,16,16,0.78);font-size:1.1rem;line-height:1.8;}
.opt1-content p{margin:0 0 0.85rem;}
.opt1-content p:last-child{margin-bottom:0;}
.opt1-gallery-link{
  display:inline-flex;align-items:center;gap:1rem;align-self:flex-start;
  margin-top:0.75rem;color:var(--pf-fg);text-decoration:none;
  font-family:var(--jost);font-size:0.82rem;font-weight:500;
  letter-spacing:0.28em;text-transform:uppercase;
  padding:0.85rem 0;border-bottom:1px solid var(--pf-rule);
  transition:border-color .35s ease, gap .35s ease;
}
.opt1-gallery-link:hover{color:var(--pf-fg);border-color:var(--pf-fg);gap:1.5rem;}
.opt1-gallery-link svg{transition:transform .35s ease;}
.opt1-gallery-link:hover svg{transform:translateX(6px);}
.opt1-gallery-link em{
  font-style:normal;color:var(--pf-fg-soft);
  letter-spacing:0.18em;font-size:0.72rem;margin-left:auto;
}
.opt1-mosaic{
  display:grid;grid-template-columns:1.6fr 1fr;gap:14px;
  height:clamp(420px, 60vh, 560px);
}
.opt1-tile{
  position:relative;display:block;overflow:hidden;background:#f1efe9;
  outline:1px solid transparent;
  transition:outline-color .35s ease;
}
.opt1-tile img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s cubic-bezier(.2,.8,.2,1), filter .55s ease;
  filter:saturate(0.95);
}
.opt1-tile:hover img{transform:scale(1.06);filter:saturate(1.08);}
.opt1-tile:hover{outline-color:var(--pf-rule);}
.opt1-feature{height:100%;}
.opt1-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:100%;}
.opt1-thumb{height:100%;}
.opt1-empty{background:#f6f4ee;outline:1px dashed var(--pf-rule-soft);}
.opt1-cursor{
  position:absolute;left:50%;bottom:1.25rem;transform:translateX(-50%) translateY(8px);
  font-family:var(--jost);font-size:0.7rem;letter-spacing:0.32em;text-transform:uppercase;
  color:#fff;background:var(--pf-fg);padding:0.6rem 1.1rem;
  opacity:0;transition:opacity .35s ease, transform .35s ease;pointer-events:none;
}
.opt1-feature:hover .opt1-cursor{opacity:1;transform:translateX(-50%) translateY(0);}
.opt1-more{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.78);color:var(--pf-fg);
  font-family:var(--jost);font-size:1.1rem;letter-spacing:0.28em;font-weight:500;
  text-transform:uppercase;backdrop-filter:blur(2px);
}
.opt1-overflow{display:none;}
/* ===== Facilities Services — downloadable forms ===== */
.facility-forms{background:#fff;padding:5.5rem 0 6rem;}
.facility-forms .forms-head{max-width:760px;margin:0 auto 3.5rem;text-align:center;}
.facility-forms .forms-eyebrow{display:inline-block;font-family:var(--jost),'Jost',sans-serif;font-size:0.78rem;letter-spacing:0.42em;text-transform:uppercase;color:#6e6e6e;margin-bottom:1rem;position:relative;padding:0 1.25rem;}
.facility-forms .forms-eyebrow::before,.facility-forms .forms-eyebrow::after{content:'';position:absolute;top:50%;width:1.75rem;height:1px;background:rgba(16,16,16,0.35);}
.facility-forms .forms-eyebrow::before{right:100%;}
.facility-forms .forms-eyebrow::after{left:100%;}
.facility-forms .forms-title{font-family:var(--jost),'Jost',sans-serif;font-size:clamp(2rem,3.4vw,2.75rem);font-weight:300;letter-spacing:0.06em;color:#101010;margin:0 0 1rem;line-height:1.15;}
.facility-forms .forms-lede{font-family:var(--jost),'Jost',sans-serif;font-size:1rem;line-height:1.65;color:#4a4a4a;margin:0 auto;max-width:580px;}
.facility-forms .forms-subhead{font-family:var(--jost),'Jost',sans-serif;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:500;letter-spacing:0.05em;color:#101010;text-align:center;margin:0 0 1.5rem;}
.facility-forms .forms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(16,16,16,0.14);}
.facility-forms .form-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:2rem 1.5rem;border-bottom:1px solid rgba(16,16,16,0.14);position:relative;background:#fff;transition:background 0.3s ease;}
.facility-forms .form-card:nth-child(odd){border-right:1px solid rgba(16,16,16,0.14);}
.facility-forms .form-card:hover{background:#fafafa;}
.facility-forms .form-card-index{font-family:var(--jost),'Jost',sans-serif;font-size:0.7rem;letter-spacing:0.3em;color:#9a9a9a;font-weight:400;}
.facility-forms .form-card-body{min-width:0;}
.facility-forms .form-card-title{font-family:var(--jost),'Jost',sans-serif;font-size:1.15rem;font-weight:500;color:#101010;margin:0;line-height:1.35;text-transform:none;letter-spacing:0;border:0;background:transparent;padding:0;text-align:left;display:block;height:auto;}
.facility-forms .form-card-download{display:inline-flex;align-items:center;gap:0.55rem;padding:0.7rem 1.25rem;background:#101010;color:#fff;border:1px solid #101010;font-family:var(--jost),'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background 0.25s ease,color 0.25s ease,transform 0.25s ease;}
.facility-forms .form-card-download:hover{background:#fff;color:#101010;transform:translateY(-2px);}
.facility-forms .form-card-download svg{width:14px;height:14px;flex-shrink:0;}
/* Online request row — single full-width card above the downloadable grid. */
.facility-forms .forms-grid--single{grid-template-columns:1fr;margin-bottom:3.25rem;}
.facility-forms .forms-grid--single .form-card:nth-child(odd){border-right:0;}
.facility-forms .form-card--online .form-card-index{text-transform:uppercase;color:#101010;}
.facility-forms .form-card-note{font-family:var(--jost),'Jost',sans-serif;font-size:0.9rem;line-height:1.5;color:#6e6e6e;margin:0.35rem 0 0;}
@media (max-width:768px){
  .facility-forms .forms-grid--single{margin-bottom:2.25rem;}
  .facility-forms{padding:3.5rem 0 4rem;}
  .facility-forms .forms-grid{grid-template-columns:1fr;}
  .facility-forms .form-card{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0.5rem 1rem;padding:1.5rem 0.25rem;}
  .facility-forms .form-card:nth-child(odd){border-right:0;}
  .facility-forms .form-card-download{grid-column:1 / -1;justify-self:start;margin-top:0.75rem;}
  .facility-forms .form-card-title{font-size:1.05rem;}
}

/* ===== Projects page — cinematic reel section ===== */
.projects-reel{background:#fff;padding:5.5rem 0 3rem;position:relative;}
.projects-reel .reel-head{max-width:880px;margin:0 auto 2.75rem;text-align:center;}
.projects-reel .reel-eyebrow{display:inline-block;font-family:var(--jost),'Jost',sans-serif;font-size:0.78rem;letter-spacing:0.42em;text-transform:uppercase;color:#6e6e6e;margin-bottom:1rem;position:relative;padding:0 1.25rem;}
.projects-reel .reel-eyebrow::before,.projects-reel .reel-eyebrow::after{content:'';position:absolute;top:50%;width:1.75rem;height:1px;background:rgba(16,16,16,0.35);}
.projects-reel .reel-eyebrow::before{right:100%;}
.projects-reel .reel-eyebrow::after{left:100%;}
.projects-reel .reel-title{font-family:var(--jost),'Jost',sans-serif;font-size:clamp(2rem,3.6vw,3rem);font-weight:300;letter-spacing:0.06em;color:#101010;margin:0 0 1rem;line-height:1.15;}
.projects-reel .reel-lede{font-family:var(--jost),'Jost',sans-serif;font-size:1.05rem;line-height:1.65;color:#4a4a4a;margin:0 auto;max-width:640px;}
.projects-reel .reel-stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(16,16,16,0.14);background:#0b0b0b;box-shadow:0 30px 60px -30px rgba(0,0,0,0.35);}
.projects-reel .reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.projects-reel .reel-sound-toggle{position:absolute;right:1.25rem;bottom:1.25rem;display:inline-flex;align-items:center;gap:0.55rem;padding:0.65rem 1rem;background:rgba(255,255,255,0.92);color:#101010;border:1px solid rgba(16,16,16,0.12);font-family:var(--jost),'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px);transition:background 0.25s ease,color 0.25s ease,transform 0.25s ease;z-index:2;}
.projects-reel .reel-sound-toggle:hover{background:#101010;color:#fff;transform:translateY(-2px);}
.projects-reel .reel-sound-toggle svg{width:16px;height:16px;display:block;}
.projects-reel .reel-sound-toggle .reel-icon-unmuted{display:none;}
.projects-reel .reel-sound-toggle[data-state="unmuted"] .reel-icon-muted{display:none;}
.projects-reel .reel-sound-toggle[data-state="unmuted"] .reel-icon-unmuted{display:block;}
.projects-reel .reel-sound-label{line-height:1;font-weight:500;}
@media (max-width:768px){
  .projects-reel{padding:3.5rem 0 2rem;}
  .projects-reel .reel-head{margin-bottom:1.75rem;}
  .projects-reel .reel-lede{font-size:0.95rem;}
  .projects-reel .reel-sound-toggle{right:0.75rem;bottom:0.75rem;padding:0.5rem 0.8rem;font-size:0.65rem;letter-spacing:0.22em;}
  .projects-reel .reel-sound-label{display:none;}
}

.org-title-prnt.org-placeholder{visibility:hidden;border:0!important;background:transparent!important;}
.org-title-prnt.org-placeholder::before,.org-title-prnt.org-placeholder::after{display:none!important;}

@media (max-width:991px){
  .opt1-properties{padding:4rem 0 4.5rem;}
  .opt1-row{grid-template-columns:1fr;gap:2.25rem;}
  .opt1-mosaic{height:auto;grid-template-columns:1fr;gap:10px;}
  .opt1-feature{height:62vw;max-height:420px;}
  .opt1-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;gap:10px;}
  .opt1-thumb{height:32vw;max-height:200px;}
  .opt1-header{margin-bottom:2.5rem;}
  .opt1-tabs button{padding:1rem 0;margin-right:1.25rem;}
}
@media (max-width:575px){
  .opt1-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .opt1-tabs::-webkit-scrollbar{display:none;}
  .opt1-tabs button{white-space:nowrap;}
  .opt1-gallery-link em{display:none;}
}
.subscribe{height:0;z-index:5;margin:13rem 0 0rem 0;}
.subscribe .container-fluid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding-left:135px;padding-right:135px;}
.subscribe-sub{background-color:#cccccc;padding:6.25rem;}
.subscribe-sub h3{font-size:2.25rem;color:var(--black);margin:0;}
.subscribe-sub .btn{font-size:1.35rem;background-color:var(--black);color:var(--white);padding:2rem 4rem;}
.subscribe-sub .btn:hover{background-color:var(--white);color:var(--black);}

footer{background-color:var(--black);padding:3rem 135px 0 135px;}
footer a{color:var(--gray3);text-decoration:none;}
footer a:hover,footer a:focus{color:var(--white);}
footer .row .col-lg-6:first-child{align-items:flex-end;}
.footer-logo{width:140px;}
.foot-phone-main{flex:0 0 48%;padding-left:50px;}
.foot-phone-main li{display:flex;align-items:center;}
.foot-phone-main li + li{margin-top:1rem;}
.foot-phone-main li a{white-space:nowrap;}
.foot-phone-main li a img{width:30px;margin-right:10px;}
.foot-links li a{text-transform:uppercase;font-size:1rem;position:relative;padding-left:0px;}
.foot-links li a::before{height:1px;width:0px;background-color:var(--white);position:absolute;left:0;top:11px;content:'';display:block;}
.foot-links li a:hover::before{width:10px;}
.foot-links li a:hover{padding-left:20px;}
.foot-links li + li{margin-top:0.5rem;}
.foot-social{justify-content:flex-end;}
.foot-social ul{display:flex;margin-left:auto;}
.foot-social ul li + li{margin-left:2rem;}
.foot-social li a{width:25px;display:block;}
.foot-social li a img{filter:invert(1);width:100%;}
.foot-social li a:hover img{transform:scale(1.2);}
.instagram h3{color:var(--cream);font-size:1.5rem;}
.instagram ul{display:flex;}
.instagram ul li{display:block;width:100%;}
.instagram ul li a{display:block;width:100%;height:0;padding-top:100%;position:relative;overflow: hidden;}
.instagram ul li a img{display:block;width:100%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:100%;max-width:100%;min-height:100%;object-fit:cover;}
.instagram ul li a:hover img{transform:translate(-50%,-50%) scale(1.1);opacity:0.8;}
.copyright{justify-content:space-between;padding:2rem 0;}
.copyright p,.copyright a{color:var(--gray3);font-size:0.8rem;}

.org-chart{ }
.org-chart h2,.org-chart h3,.org-chart h4,.org-chart h5,.org-chart h6{border:1px solid #ccc;margin-bottom:0;padding:1rem 7px;height:100%;text-align:center;display:flex;align-items:center;justify-content:center;}
.org-chart .org-title{display:block;}
.org-chart h2{display:inline-block;padding:1rem 3rem;background-color:#f1f1f1;font-size:2rem;}
.org-chart h3{font-size:1.25rem;background-color:#cfcfcf}
.org-chart h4{font-size:1.15rem;background-color:#dfdfdf;}
.org-chart h5{font-size:1.1rem;background-color:#c5c5c5;}
.org-chart h6{background-color:#a9a9a9;}
.org-title-prnt{padding:0rem 0;height:100%;position:relative;}
.pad-top-btn{}
.pad-top-prnt .org-title-prnt{padding:2rem 0 0rem 0;} 
.org-title-prnt::before{content:'';display:none; width:1px;height:100%;position:absolute;top:0;left:calc(50% - 1px);background-color:var(--black);}
.top-HV-line{padding-top:2rem;position:relative;}
.top-HV-line .col-3,.v-line .col-3{position:relative; }
.top-HV-line .col-3::before,.top-HV-line .col-3::after,.v-line .col-3::before,.first-level::before,.second-level::before,.second-level::after,.top-HV-line::before,.pad-top-1::after,.left-top-bdr::before,.right-top-bdr::before,.first-level::after,.pad-top-1::before,.right-top-bdr::after,.left-top-bdr::after{z-index:-1;display:block;content:'';position:absolute;}
/* .top-HV-line .col-3::before,.v-line .col-3::before 
{background-color:var(--black);} */
.top-HV-line .col-3::before,.v-line .col-3::before{width:1px;height:100%;top:0;left:calc(50% - 1px);}
.top-HV-line .col-3:first-child::after,.top-HV-line .col-3:last-child::after{width:50%;top:0;height:1px;}
.top-HV-line .col-3:first-child::after{right:0;}
.top-HV-line .col-3:last-child::after{left:0;}
.top-HV-line .col-3:nth-child(2)::after,
.top-HV-line .col-3:nth-child(3)::after{width:100%;top:0;height:1px;left:0;}
.top-HV-line::before{height:2rem;top:0;width:1px;left:calc(50% - 1px);}
.v-line{}
.v-line .col-3:first-child:before,.v-line .col-3:last-child:before{height:50%;}

/* Dynamic .col support (when org chart uses Bootstrap auto-distributed columns) */
.top-HV-line > .col,.v-line > .col{position:relative;}
.top-HV-line > .col::before,.top-HV-line > .col::after,.v-line > .col::before{z-index:-1;display:block;content:'';position:absolute;}
.top-HV-line > .col::before,.v-line > .col::before{width:1px;height:100%;top:0;left:calc(50% - 1px);background-image:repeating-linear-gradient(to bottom, #000 0, #000 3px, transparent 3px, transparent 6px);animation: dash-move_v 1s linear infinite;}
.top-HV-line > .col::after{height:1px;top:0;background-image:repeating-linear-gradient(to right, #000 0, #000 5px, transparent 5px, transparent 10px);}
.top-HV-line > .col:first-child::after{width:50%;right:0;animation: dash-move_h 1s linear infinite reverse;}
.top-HV-line > .col:last-child::after{width:50%;left:0;animation: dash-move_h 1s linear infinite;}
.top-HV-line > .col:not(:first-child):not(:last-child)::after{width:100%;left:0;animation: dash-move_h 1s linear infinite;}
.v-line > .col:first-child::before,.v-line > .col:last-child::before{height:50%;}
/* Suppress connector lines for empty placeholder columns in v-line rows */
.v-line > .col.col-placeholder::before,.v-line > .col.col-placeholder::after{display:none!important;}

.first-level{position:relative;}
.first-level .org-title-prnt{padding:2rem 0 2rem 0;}
.first-level h2,.first-level h4{height:auto;}
/* .first-level{border-left:1px solid #000;position:relative;} */
/* .first-level::before{height:100%;width:1px;} */
.first-level::before{width:calc(var(--bs-gutter-x) * .5);top:50%;height:1px;left:0;}
.first-level::after{width:1px;top:0%;height:100%;left:0;}
.second-level .org-title-prnt{padding:2rem 0 0 0;}
.second-level{position: relative;}
.second-level::before{height:50%;width:1px;left:calc(50% - 1px);}
.pad-top-1::before{width:1px;right:0;height:100%;top:0;}
.left-side .second-level::after,.right-side .second-level::after,.left-top-bdr::before,.right-top-bdr::before{width:50%;top:0;height:1px;
  background-image:repeating-linear-gradient(to right, #000 0, #000 3px, transparent 3px, transparent 6px);
}
.pad-top-1::after{}
.left-side .second-level::after,.pad-top-1::after,.left-top-bdr::before,.top-HV-line .col-3:nth-child(2)::after,.top-HV-line .col-3:first-child::after{animation: dash-move_h 1s linear infinite reverse;}
.right-side .second-level::after,.first-level::before,.right-top-bdr::before,.top-HV-line .col-3:nth-child(3)::after,.top-HV-line .col-3:last-child::after{animation: dash-move_h 1s linear infinite; }
.first-level::after,.second-level::before,.pad-top-1::before,.left-top-bdr::after,.right-top-bdr::after,.top-HV-line::before,.top-HV-line .col-3::before,.v-line .col-3::before{animation: dash-move_v 1s linear infinite; background-image:repeating-linear-gradient(to bottom, #000 0, #000 3px, transparent 3px, transparent 6px);}
.first-level::before,.pad-top-1::after,.top-HV-line .col-3:nth-child(2)::after, .top-HV-line .col-3:nth-child(3)::after,.top-HV-line .col-3:first-child::after,.top-HV-line .col-3:last-child::after{background-image:repeating-linear-gradient(to right, #000 0, #000 5px, transparent 5px, transparent 10px);}
@keyframes dash-move_h {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 10px 0;
  }
}
@keyframes dash-move_v {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 6px;
  }
}
.left-side .second-level::after{right:0;}
.right-side .second-level::after{left:0;}
.right-side .second-level::after{ }

.pad-top-1{padding-top:2rem;padding-bottom:2rem;position:relative;}
.pad-top-1::after{height:1px;width:calc(var(--bs-gutter-x) * .5);right:0;top:50%;}
.left-top-bdr,.right-top-bdr{position:relative;padding-top:2rem;padding-bottom:2rem;}
/* .left-top-bdr::before,.right-top-bdr::before{width:50%;top:0;border-top:1px solid var(--black);height:50%;background-color:transparent ;}
.left-top-bdr::before{left:50%;border-left:1px solid var(--black);} */

.left-top-bdr::before{right:0%;width:50%;height:1px;top:0;}
.left-top-bdr::after{right:50%;width:1px;height:50%;top:0;}

.right-top-bdr::before{left:0%;}
.right-top-bdr::after{left:50%;width:1px;height:50%;top:0}
.left-top-bdr::after{}

.pad-top-btm{padding-top:75px;padding-bottom:75px;}
.ceo-photo{border:1px solid #ccc;padding:1rem;}
.ceo-dtl{text-align:center;padding-top:15px;}
.ceo-dtl h2{text-transform:uppercase;text-align:center;font-size:1.5rem;margin:0;}
.ceo-dtl small{}

.project-col{padding:calc(var(--bs-gutter-x) * .5);}
.project-photo{height:0;padding-top:100%;overflow:hidden;position:relative;}
.project-photo img{max-width:100%;min-width:100%;min-height:100%;object-fit:cover;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
.project-dtl{width:125%;margin-left:-25%;position:relative;background-color:rgba(240,240,240,0.85);padding:1rem;outline: 1px solid #eee;outline-offset: 4px;}
.project-dtl h2{font-size:1.5rem;margin-bottom:10px;line-height:1;}
.project-dtl p{font-size:0.9rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
.project-col .row:hover .project-photo img{transform:translate(-50%,-50%) scale(1.1) rotate(3deg);}
.project-col .row:hover .project-dtl{background-color:rgba(240,240,240,1);}
.news-card{border:1px solid #eee; transition: all 0.3s ease; background:#fff;height:100%;}
.news-card:hover{box-shadow:0 10px 30px rgba(0, 0, 0, 0.05);transform:translateY(-5px);}

.news-col{padding:calc(var(--bs-gutter-x) * .5);}
.news-img{height:0;overflow:hidden;position: relative;padding-top:60%;}
.news-img img {
  max-width: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.news-content{padding:25px;}
.news-date {
  font-size: 0.8rem;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  display: block;
}

.news-content h3 {
  font-size: 1.4rem;
  color: #000;
  margin-bottom: 15px;
  font-weight: 600;
}

.news-content p {
  font-size:1rem;
  color: #444;
  line-height: 1.6;
  margin-bottom: 20px;
}

.read-more {
  color: #000;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.8rem;
  text-decoration: none;
  letter-spacing: 1px;
  border-bottom: 2px solid #000;
  padding-bottom: 5px;
}


.contact-info-box {
  background-color: #f9f9f9;
  padding: 40px;
  height: 100%;
}

.contact-info-box h3 {
  font-size: 1.5rem;
  color: #000;
  font-weight: 700;
  margin-bottom: 30px;
}

.info-item {
  display: flex;
  margin-bottom: 25px;
}

.info-item img {
  width: 25px;
  margin-right: 15px;
  filter: brightness(0);
}

.info-text span {
  display: block;
  font-size: 0.9rem;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 5px;
}

.info-text p {
  font-size: 1.1rem;
  color: #000;
  margin: 0;
}

.contact-form {
  padding: 40px;
}

.contact-form h3 {
  font-size: 1.5rem;
  color: #000;
  font-weight: 700;
  margin-bottom: 30px;
}

.form-control {
  border-radius: 0;
  border: 1px solid #ddd;
  padding: 15px;
  margin-bottom: 20px;
}

.form-control:focus {
  border-color: #000;
  box-shadow: none;
}

.submit-btn {
  background-color: #000;
  color: #fff;
  border: none;
  padding: 15px 40px;
  font-weight: 700;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.submit-btn:hover {
  background-color: #333;
  color: #fff;
}

/* Inner Page Banner Height Adjustment */
.inner-banner,
.inner-banner .slide-holder,
.inner-banner .banner-contents {
  height: 450px !important;
  min-height: 450px !important;
}

/* Task 7: remove background photos, keep black bg */
.inner-banner .slide-holder img {
  display: none !important;
}
.inner-banner .slide-holder {
  background-color: #000 !important;
}

.inner-banner .banner-contents {
  padding: 60px 0 !important;
  justify-content: center !important;
}

.inner-banner .banner-contents h1,
.inner-banner .banner-contents .sub-title,
.inner-banner .banner-contents p {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 767px) {
 
}
.contact-col{padding:calc(var(--bs-gutter-x) * .5);}
.facility-manager .project-dtl{background-color:rgba(245,245,245,0.9)}
.facility-manager .project-dtl ul li{padding:5px 0;}
.services{padding:5rem 0;}
.services h1{text-align: center;margin-bottom:2rem;}
.about-highlights {
  background-color: #f9f9f9;
  padding: 60px 0;
  margin-top: 50px;
}
.highlight-card {
  text-align: center;
  padding: 30px;
  transition: all 0.3s ease;
}
.highlight-card h3 {
  font-size: 2.5rem;
  color: #000;
  margin-bottom: 10px;
  font-weight: 700;
}
.highlight-card p {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #666;
}
.facility-services{background-color:#f7f7f7;}
.services-row{}
.services-col{padding:calc(var(--bs-gutter-x) * .5);}
.services-row .services-col:nth-child(even){background-color:#ffffff;box-shadow: 0 30px 20px #b6b6b61a;}
.services-card{display:flex;padding:1rem;}
.services-icon{width:65px;flex:0 0 65px;}
.services-icon img{width:100%;}
.services-dtl {flex:0 0 calc(100% - 65px);padding-left:25px;}
.services-dtl h3{font-size:1.35rem;font-weight:500;}
.services-dtl p{font-size:1.1rem;    display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;}
.read-more-btn{text-decoration:none;display:flex;padding:5px;border-radius:35px;align-items:center;font-size:1.15rem;width:170px;}
.read-more-btn span{display:flex;background:transparent;width:40px;height:40px;border-radius:50px;margin-right:15px;align-items:center;justify-content:center;}
.read-more-btn span img{width:60%;filter:invert(1);}
.read-more-btn:hover{background-color:var(--black);color:var(--white);}
.read-more-btn:hover span{background-color:var(--white);}
.services-row .services-col:nth-child(even) .read-more-btn{}
.services-row .services-col:nth-child(even) .read-more-btn span{display:flex;background:var(--black);}
.services-row .services-col:nth-child(even) .read-more-btn span img{filter:invert(0)}
.services-row .services-col:nth-child(even) .read-more-btn:hover span{background-color:var(--white);}
.services-row .services-col:nth-child(even) .read-more-btn:hover span img{filter:invert(1)}
.project-gallery{display:flex;flex-wrap:wrap;gap: 10px;margin:0;padding:0;list-style-type:none;;}
.project-gallery li{margin:0;padding:0;flex:0 0 calc(20% - 8px);}
.project-gallery li a{display:block;height:0;padding-top:70%;overflow:hidden;position:relative;}
.project-gallery li a img{min-width:100%;max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
.project-gallery li a:hover img{transform:translate(-50%,-50%) scale(1.1)}


.clouds {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}

.animation {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.animation::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  /* background: linear-gradient(0deg, #fff, #0000, #fff); */
  z-index: 1;
}

.animation::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height:100%;
  /* background: #03a9f445; */
}

.animation .cloud {
  background-repeat: repeat-X;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

/* .animation .cloud1 {
  background-image: url('https://raw.githubusercontent.com/gestok/clouds/main/clouds/clouds_1.png');
  animation: move1 20s infinite linear;
} */
 .animation .cloud2 {
  background-image: url('../images/clouds_2.webp');
  animation: move1 50s infinite linear;
}
/*.animation .cloud3 {
  background-image: url('https://raw.githubusercontent.com/gestok/clouds/main/clouds/clouds_3.png');
  animation: move1 17s infinite linear;
} */
@keyframes move1 {
  100% {background-position: -1000px 0;}
}
@keyframes move2 {
  100% {background-position: -1000px 0;}
}
@keyframes move3 {
  100% {background-position: -1579px 0;}
}
.mission-and-vision{margin-top:25px;}
.services{background-color:#f0f0f0;}
.inner-banner .slide-holder::before{content:'';position: absolute;left:0 ;top:0 ;width:100%;height:100%;display:block;background-color:rgba(0,0,0,0.4);z-index:1}
/* Responsive*/
@media screen and (min-width:1600px) and (max-width:1799px) {
  .banner-contents h1{font-size:3rem;}
  .welcome-text{padding:50px 70px 50px 70px;}
  .welcome-text h3, .building-left h3{font-size:1.5rem;}
  .carousel-container{left:33.595833%;}
  .subscribe-sub h3{font-size:2rem;}
  .subscribe-sub .btn{font-size:1.15rem;}
}
@media screen and (min-width:1440px) and (max-width:1599px) {
  .banner-contents h1{font-size:2.75rem;}
  .welcome-text{padding:50px 50px 50px 50px;}
  .welcome-text h3, .building-left h3{font-size:1.45rem;margin-bottom:2rem;}
  .welcome-text .btn{margin-top:1.5rem;margin-bottom:2rem;}
  .why-us-card h3{font-size:1.25rem;}
  .carousel-container{width:58.7%;left:31.895833%;}
  .textSwiper{height:200px;}
  .subscribe-sub{padding:4rem 4.5rem;}
  .subscribe-sub h3{font-size:1.8rem;}
  .subscribe-sub .btn{font-size:1.15rem;}
  .footer-logo{width:125px;}
  .foot-phone-main ul{padding-left:0;}
}

@media screen and (min-width:1300px) and (max-width:1439px) {
  .right-header{width:100px;}
  .banner-contents h1{font-size:2.5rem;}
  .welcome-sub{width: 34.8958333333%;}
  .FSRE-text{flex:0 0 calc(65.15625% - 100px);}
  .FSRE-strip{flex:0 0 100px;}
  .welcome-text{padding:50px 50px 50px 50px;}
  .welcome-text .btn{margin-top:1rem;margin-bottom:1rem;}
  .why-choose{padding:3.5rem 100px 3.5rem 50px;}
  .why-us-card h3{font-size:1.25rem;}
  .carousel-container{width:62%;left:30.8958333333%;padding:2rem 2.375rem;}
  h1{font-size:1.75rem;}
  .textSwiper{height:200px;}
  .subscribe-sub{padding:4rem;}
  .subscribe-sub h3{font-size:1.45rem;}
  .subscribe-sub .btn{font-size:1.15rem;padding:1.25rem 2.5rem;}
  .subscribe .container-fluid{padding-left:100px;padding-right:100px;}
  footer{padding:3rem 100px 0 100px;}
  .footer-logo{width:100px;}
  .foot-phone-main{padding-left:25px;}
  .foot-phone-main ul{padding-left:0}
  .foot-phone-main li a img{width:25px;}
  .foot-phone-main li a{font-size:1.15rem;}
  footer .row .col-lg-6:first-child{padding-top:50px;}
  footer .row .col-lg-6:nth-child(2){display:flex;align-items:flex-end;flex-direction:column;justify-content:flex-end;}
  .foot-social{margin-bottom:auto;}
  .instagram{width:100%;}
}

@media (max-width: 767px) {
  body{font-size:16px;}
  header{z-index:100;width:50%!important;z-index:88;}
  header::before{backdrop-filter:blur(10px);opacity:0;transition:all 0.3s ease 0s;left:0;width:100vw;top:0;position:absolute;z-index:-1;height:100%;background-color:rgba(0,0,0,0.7);display:block;}
  header .container{}
  header.smaller::before{opacity:1;}
  .logobar .FSRE{display:block;margin-left:0;width:100px;}
  .logobar .FSRE img{filter:invert(1) brightness(10)}
  .right-header{width:50%;height:70px;justify-content:space-between;align-items:center;flex-direction:row;direction:rtl;background-color:transparent;}
  .menu-list li + li{padding-bottom:0px;}
  .menu-list{display:flex;margin-bottom:0px;padding:0;}
  .menu-list li{margin-top:0rem;margin-right:15px;}
  .right-header .menu-list--text .strip-text{font-size:0.62rem;letter-spacing:0.1em;padding:0 2px;white-space:nowrap;}
  .social-link{width:35px;display:flex;align-items: center;justify-content: center;}
  .social-link img{width:60%;display:block;filter:invert(1);}
  .social-menu{flex-direction:row ;margin:0;}
  .social-menu li{margin-bottom:0px;}
  .social-menu li + li{margin-right:20px;}
  .social-menu-main{margin-right:15px;margin-left:auto;position:relative;}
  .header-social{display:none;position: absolute;top:100%;padding:10px 15px;margin:0;left:50%;transform:translateX(-50%);background-color: rgba(0, 0, 0, 0.7);}
  .header-social ul{padding:0;}
  .header-social.active{display:block;}
  .menu-list li a {width:32px;height:40px;}
  .menu-list li a img{width:70%;}
  .menu-list li a.d-block{display:flex!important;justify-content:center}
  .logobar-banner{width:100%;}
  .logobar-banner .FSRE{width:170px;margin-top:75px}
  .banner-contents p{font-size:16px;margin-bottom:10px;}
  .banner-contents .sub-title{font-size:30px;}
  .banner-contents{justify-content:space-between!important}
  .banner-contents h1{font-size:1.75rem;}
  .search-btn img{width:39%;}
  .search-main{left:130px;width:50px;height:50px;top: 9px;background-color:transparent;}
  .search-btn, .search-btn a, .search-btn button{width:50px;}
  .search-main.show{width:calc(100vw - 150px);}
  .search-main.show .search-input{right:50px;}
  .search-input{right:50px;width:calc(100vw - 200px);}
  .search-input .form-control{font-size:1.2rem;}
  .search-btn a, .search-btn button, .search-input .form-control{height:50px;}
  .menu-wraper{align-items:flex-start;padding-top:100px;}  
  .navbar ul li a.nav-link,.navbar ul li a.nav-link span{font-size:18px;}
  .menubar .submenu li a{font-size:18px;}
  .navbar ul li a.nav-link span::before{top:13px;}
  .navbar ul li a.nav-link:hover span, .navbar ul li.navdropdown:hover a.nav-link span{padding-left:30px;}
  .navbar ul li{margin:5px 0;}
  .navbar ul li.navdropdown.open .submenu{margin-top:0px;}
  .welcome.d-flex{display:block!important;margin-top:0!important;}
  .banner-contents picture{display:block!important;width:100%;}
  .FSRE-text picture{display:none!important;}
  .welcome-sub{width:100%;order:2;}
  .FSRE-text {order:1;flex:0 0 100%;}
  .FSRE-strip{display:none;}
  .welcome-text{padding:50px 15px 50px 15px;}
  .welcome-text h3, .building-left h3{font-size:1.2rem;}
  .welcome-text .btn{margin-top:.5rem;margin-bottom:3rem;}
  .building-text{padding-bottom:50px;}
  .building-contents{margin:50px 0 0 0;}
  .building-left{max-width:100%;width:100%;flex:0 0 100%;}
  .building-contents{text-align: center;}
  .building-left h3{ margin-bottom:1.5rem;}
  .building-left h4{ margin-bottom: 1.5rem;}
  .building-contents .btn{margin-bottom:2rem;}
  .building-right{padding-right:calc(var(--bs-gutter-x) * 0.5);}
  .contact-info-box{margin-bottom:30px;padding:30px;}
  .contact-form{padding:30px 15px;}
  .main-banner,.slide-holder,.banner-contents{height:500px!important;min-height:500px!important;}
  .inner-banner, .inner-banner .slide-holder, .inner-banner .banner-contents{height:400px!important;min-height:400px!important;}  
  .pad-top-btm{padding-top:50px;padding-bottom:50px;}
  .about-highlights .col-md-4{width:33.3333%;}
  .highlight-card{padding:0;}
  .highlight-card p{margin-bottom:0;}
  .highlight-card h3{font-size:30px;}
  .about-highlights{padding:30px 0;margin-top:0px!important}
  .banner-contents .text-center h1{font-size:2.5rem!important;}
  .inner-banner .banner-contents h1{font-size:27px!important;}
  .building-text .building-contents{margin:50px 0 0rem 0;}
  .why-choose{padding:50px 15px 50px 15px;}
  h1{font-size:1.7rem;}
  .why-choose .col-12 p{font-size:16px;margin-bottom:0}
  .icon-holder{margin:0 auto 15px auto;}
  .why-us-card h3{font-size:16px}
  .why-choose .col-lg-3{width:50%;max-width:50%}
  .carousel-container{width:100%;left:0;padding:2rem 15px 0rem 15px;position:static!important;}
  .swiper-tabs{position: static;width:100%;gap:10px;}
  .carousel-container h2{font-size:18px;margin-bottom:10px;}
  .swiper-tabs button{font-size:12px;}
  .text-card{margin-bottom:15px;}
  .btn{padding:0.5rem 1.5rem}
  .subscribe .container-fluid{padding-left:15px;padding-right:15px;}
  .subscribe-sub{padding:15px;display:block!important;text-align:center; }
  .subscribe-sub h3{font-size:20px;margin-bottom:15px;}
  .subscribe-sub .btn{padding:1rem 2rem;font-size:16px}
  .subscribe{margin:7rem 0 0rem 0;}
  footer{padding:100px 0 0 0}
  footer .row .col-lg-6:first-child{align-items:flex-start;flex-wrap:wrap;}
  .footer-logo{width:80px;flex:0 0 80px;}
  .foot-phone-main{flex:0 0 calc(100% - 85px);padding-left:25px;width:calc(100% - 85px);}
  .foot-phone-main{margin-left:0;padding-left:0;}
  .foot-phone-main li a img{width:25px;}
  .foot-links{width:100%;flex:0 0 100%;margin-top:20px;}
  .foot-links ul{display:flex;width:100%;flex-wrap:wrap;}
  .foot-links ul li{width:50%;flex:0 0 50%;}
  .foot-links li a{font-size:14px;}
  .foot-social{justify-content:flex-start;margin-top:20px;margin-bottom:20px;}
  .foot-social ul{margin-left:0;}
  .copyright{display:block!important;text-align:center;}
  .instagram ul{flex-wrap:wrap;}
  .instagram ul li{flex:0 0 33.3333%;}
  .copyright{padding:1rem 0;}
  
  .ceo-photo{margin-bottom:2rem;}
  .ceo-dtl h2{font-size:1.25rem;}

  .left-side{width:66.66666667%;position: relative;}
  .right-side{width:100%}
  .org-chart h2{font-size:25px;}
  .org-chart h4{font-size:14px;}
  .org-chart h3{font-size:15px;word-break: break-all;}
  .org-chart h5{font-size:13px;}
  .org-chart h6{font-size:12px;}
  .left-side::before,.left-side::after{
    top: 0%;
    
    right: 0;z-index: -1;
    display:block;
    content:'';
    position:absolute;
    }
  .left-side::before{width:37%;height:1px;background-image: repeating-linear-gradient(to right, #000 0, #000 3px, transparent 3px, transparent 6px);animation:dash-move_h 1s linear infinite;}
  .left-side::after{width:1px;height:100%;animation: dash-move_v 0.8s linear infinite;background-image:repeating-linear-gradient(to bottom, #000 0, #000 3px, transparent 3px, transparent 6px);}
  .top-HV-line .col-3, .v-line .col-3{padding-left:5px;padding-right:5px;}
  .left-side .second-level::after{width:13%;left:50%;}
  .right-side .second-level::after{left:50%;width:16.5%;animation: dash-move_h 1s linear infinite reverse;}
  .project-dtl h2{font-size:20px;}
  .news-content h3{font-size:18px;}
  /* .top-HV-line .col-3{width:50%;max-width:50%;}
  .top-HV-line .col-3:nth-child(3),.top-HV-line .col-3:nth-child(4){margin-top:1rem;}
  .top-HV-line::before{height:61%;}
  .top-HV-line .col-3:nth-child(2)::after, .top-HV-line .col-3:nth-child(3)::after{width:50%;}
  .top-HV-line .col-3:nth-child(3)::after{left:50%;animation: dash-move_h 1s linear infinite reverse;}
  .top-HV-line .col-3:nth-child(2)::after{animation:dash-move_h 1s linear infinite;}
  .v-line .col-3{width:50%;max-width:50%;} */


}
@media (min-width:576px) and (max-width:767px){
  .main-banner, .slide-holder, .banner-contents{height:600px!important;min-height:600px!important;}
  .project-gallery li{flex:0 0 calc(25% - 8px);}
  /* .banner-contents .sub-title{padding-bottom:170px} */
}
@media (min-width:400px) and (max-width:575px){
  /* .banner-contents .sub-title{padding-bottom:135px} */
}
@media (min-width:100px) and (max-width:575px){
.project .project-col .row .col-6:first-child{width:60%;}
.project .project-col .row .col-6:last-child{width:40%;}
.project .project-dtl{width:170%;margin-left:-70%;}
.project-dtl p{-webkit-line-clamp: 2;}
.project-dtl{padding:10px;}
.project-text .btn{font-size: 12px;}
.project-gallery li{flex:0 0 calc(33.3333% - 8px);}
.facility-manager .project-col .col-6{width:100%;}
.facility-manager .project-dtl{width:80%;margin-left:10%;margin-top:-50px;}
}

/* ===== Department Overview (Facilities & Engineering) ===== */
.dept-overview{background:#fff;padding:5.5rem 0 6rem;color:#101010;}
.dept-overview .dept-inner{max-width:1180px;}
.dept-header{display:grid;gap:.85rem;margin-bottom:2.75rem;}
.dept-eyebrow{font-family:var(--jost),'Jost',sans-serif;font-size:.72rem;letter-spacing:.36em;text-transform:uppercase;color:rgba(16,16,16,.62);font-weight:500;}
.dept-eyebrow::before{content:"";display:inline-block;width:32px;height:1px;background:rgba(16,16,16,.62);vertical-align:middle;margin-right:14px;transform:translateY(-3px);}
.dept-title{font-family:var(--jost),'Jost',sans-serif;font-size:clamp(2.25rem,4.4vw,3.75rem);font-weight:300;letter-spacing:-0.02em;line-height:1.05;margin:0;color:#101010;}
.dept-prose{max-width:880px;font-size:1.02rem;line-height:1.85;color:rgba(16,16,16,.82);margin:0 0 3rem;}
.dept-prose p{margin:0 0 1.1rem;}
.dept-prose p:last-child{margin-bottom:0;}
.dept-hero{margin:0 0 3.5rem;border:1px solid rgba(16,16,16,.08);background:#f7f6f1;overflow:hidden;}
.dept-hero img{width:100%;height:clamp(280px,38vw,520px);object-fit:cover;display:block;}
.dept-hero figcaption{font-family:var(--jost),'Jost',sans-serif;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(16,16,16,.55);padding:1rem 1.25rem;border-top:1px solid rgba(16,16,16,.08);}
.dept-subhead{font-family:var(--jost),'Jost',sans-serif;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:400;letter-spacing:.02em;color:#101010;margin:0 0 1.25rem;padding-bottom:.85rem;border-bottom:1px solid rgba(16,16,16,.12);}
.dept-leadership{margin:0 0 3.5rem;max-width:880px;font-size:1rem;line-height:1.8;color:rgba(16,16,16,.82);}
.dept-leadership p{margin:0 0 1rem;}
.dept-leadership strong{color:#101010;font-weight:600;}
.dept-divisions-head{margin:0 0 2rem;max-width:880px;}
.dept-divisions-lede{font-size:1rem;line-height:1.7;color:rgba(16,16,16,.7);margin:0;}
.dept-divisions{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(16,16,16,.14);}
.dept-division{padding:2.25rem 2rem 2.5rem;border-bottom:1px solid rgba(16,16,16,.14);position:relative;background:#fff;transition:background .25s ease;}
.dept-division:nth-child(odd){border-right:1px solid rgba(16,16,16,.14);}
.dept-division:hover{background:#fafaf8;}
.dept-division-index{display:inline-block;font-family:var(--jost),'Jost',sans-serif;font-size:.7rem;letter-spacing:.36em;color:rgba(16,16,16,.5);margin-bottom:.75rem;}
.dept-division-name{font-family:var(--jost),'Jost',sans-serif;font-size:1.35rem;font-weight:500;letter-spacing:.02em;color:#101010;margin:0 0 .35rem;}
.dept-division-lead{font-size:.88rem;color:rgba(16,16,16,.65);margin:0 0 1rem;font-style:italic;}
.dept-division-lead strong{font-style:normal;color:#101010;font-weight:600;}
.dept-division p{font-size:.95rem;line-height:1.7;color:rgba(16,16,16,.78);margin:0 0 .9rem;}
.dept-services-head{font-family:var(--jost),'Jost',sans-serif;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:#101010;margin:1.25rem 0 .65rem;}
.dept-division ul{padding-left:1.15rem;margin:0 0 1rem;font-size:.95rem;line-height:1.65;color:rgba(16,16,16,.78);}
.dept-division ul li{margin-bottom:.35rem;}
.dept-division-close{font-style:italic;color:rgba(16,16,16,.65);margin-top:1rem !important;}
.dept-team{margin:0 0 3.5rem;}
.dept-team-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(16,16,16,.14);}
.dept-team-list li{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.25rem;border-bottom:1px solid rgba(16,16,16,.14);background:#fff;}
.dept-team-list li:nth-child(odd){border-right:1px solid rgba(16,16,16,.14);}
.dept-team-name{font-family:var(--jost),'Jost',sans-serif;font-size:1.05rem;font-weight:600;color:#101010;letter-spacing:.01em;}
.dept-team-role{font-family:var(--jost),'Jost',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(16,16,16,.6);}
.dept-projects-head{margin:0 0 2rem;max-width:880px;}
.dept-projects-lede{font-size:1rem;line-height:1.7;color:rgba(16,16,16,.7);margin:0;}
.dept-projects{list-style:none;padding:0;margin:0;border-top:1px solid rgba(16,16,16,.14);}
.dept-project{display:grid;grid-template-columns:160px 1fr;gap:2rem;padding:1.85rem 0;border-bottom:1px solid rgba(16,16,16,.14);align-items:start;}
.dept-project-year{grid-column:1;grid-row:1 / span 2;font-family:var(--jost),'Jost',sans-serif;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(16,16,16,.55);padding-top:.35rem;}
.dept-project-name{grid-column:2;font-family:var(--jost),'Jost',sans-serif;font-size:1.2rem;font-weight:500;color:#101010;margin:0 0 .55rem;letter-spacing:.01em;line-height:1.3;}
.dept-project p{grid-column:2;font-size:.95rem;line-height:1.7;color:rgba(16,16,16,.78);margin:0;}
@media (max-width:900px){
  .dept-overview{padding:3.5rem 0 4rem;}
  .dept-hero{margin-bottom:2.5rem;}
  .dept-divisions{grid-template-columns:1fr;}
  .dept-division:nth-child(odd){border-right:0;}
  .dept-team-list{grid-template-columns:1fr;}
  .dept-team-list li:nth-child(odd){border-right:0;}
  .dept-project{grid-template-columns:1fr;gap:.4rem;padding:1.5rem 0;}
  .dept-project-year{padding-top:0;}
}
/* Our Constructions — album grid (photos + videos) */
.our-constructions{padding:5rem 0 5.5rem;background:#0d0d0d;color:#fff;}
.our-constructions .opt1-eyebrow{color:rgba(255,255,255,.7);}
.our-constructions .opt1-title{color:#fff;}
.our-constructions .opt1-lede{max-width:720px;margin:1rem auto 0;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.7);}
.construction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:3rem;}
.construction-tile{position:relative;display:block;overflow:hidden;border-radius:6px;background:#1a1a1a;aspect-ratio:4 / 3;cursor:zoom-in;}
.construction-tile img,.construction-tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.construction-tile:hover img,.construction-tile:hover video{transform:scale(1.05);}
.construction-tile-video{cursor:pointer;}
.construction-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;pointer-events:none;}
.construction-caption{position:absolute;left:0;right:0;bottom:0;padding:.75rem 1rem;font-size:.85rem;letter-spacing:.04em;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);}
@media (max-width:900px){
  .construction-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;}
  .our-constructions{padding:3.5rem 0 4rem;}
}
@media (max-width:560px){
  .construction-grid{grid-template-columns:1fr;}
}
/* ===== Construction mosaic (mirrors opt1-mosaic for dark section) ===== */
.constr-mosaic{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;height:clamp(420px,60vh,560px);margin-top:3rem;}
.constr-tile{position:relative;display:block;overflow:hidden;background:#1a1a1a;}
.constr-tile img,.constr-tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1);}
.constr-tile:hover img,.constr-tile:hover video{transform:scale(1.06);}
.constr-feature{height:100%;}
.constr-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:100%;}
.constr-empty{background:#222;outline:1px dashed rgba(255,255,255,.12);}
.constr-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.62);color:#fff;font-family:var(--jost);font-size:1.1rem;letter-spacing:.28em;font-weight:500;text-transform:uppercase;backdrop-filter:blur(2px);}
.our-constructions .opt1-gallery-link{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.25);margin-top:1.5rem;}
.our-constructions .opt1-gallery-link:hover{color:#fff;border-color:#fff;}
.our-constructions .opt1-gallery-link em{color:rgba(255,255,255,.5);}
@media(max-width:768px){
  .constr-mosaic{height:auto;grid-template-columns:1fr;gap:10px;margin-top:2rem;}
  .constr-feature{height:62vw;max-height:420px;}
  .constr-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;gap:10px;}
  .constr-grid .constr-tile{height:32vw;max-height:200px;}
}
@media(max-width:480px){
  .constr-grid{grid-template-columns:1fr;}
  .constr-grid .constr-tile{height:56vw;max-height:none;}
}

/* Department team photo grid */
.team-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;}
.team-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem;}
.team-photo{width:100%;aspect-ratio:3/4;overflow:hidden;border:1px solid rgba(16,16,16,.08);background:#f7f6f1;}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.team-card .team-name{font-family:var(--jost),'Jost',sans-serif;font-size:1.02rem;font-weight:600;color:#101010;letter-spacing:.01em;}
.team-card .team-role{font-family:var(--jost),'Jost',sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(16,16,16,.6);line-height:1.55;}
@media (max-width:992px){.team-grid{grid-template-columns:repeat(3,1fr);gap:1.35rem;}}
@media (max-width:768px){.team-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem;}}
