:root {
  --bg:#071017; --bg2:#0c161d; --panel:#111d25; --blue:#25a9e5; --blue2:#0c85c0;
  --text:#f4f7f8; --muted:#a9b4bb; --line:rgba(255,255,255,.14);
  --paper:#f4f6f7; --ink:#162029; --gray:#6d7880; --card:#ffffff;
  --lightline:rgba(20,31,40,.12); --max:1420px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI","Noto Sans Armenian",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.48}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} img{display:block;max-width:100%}
.wrap{width:min(var(--max),calc(100% - 56px));margin:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 27px;border-radius:5px;border:1px solid transparent;font-weight:800;font-size:13px;letter-spacing:.02em;transition:.18s;cursor:pointer}
.btn svg{width:18px}
.btn-blue{background:linear-gradient(#2db4ef,#158ec8);color:#fff;box-shadow:0 10px 28px rgba(16,137,195,.2)}
.btn-blue:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-ghost{border-color:rgba(97,199,241,.68);color:#fff;background:rgba(4,12,18,.35)}
.btn-dark{background:#10212b;color:#fff}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(31px,3vw,46px);line-height:1.1;letter-spacing:-.03em}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.23em;color:var(--blue2);font-weight:800}
.eyebrow.white{color:#7bd3f5}
.section{padding:86px 0}
.section-title{text-align:center;max-width:850px;margin:0 auto 40px}
.section-title p{color:var(--gray);font-size:15px}

/* Corporate top */
.corp-head{
  min-height:168px;color:white;
  background:
    linear-gradient(90deg,rgba(5,12,17,.82) 0%,rgba(9,19,25,.68) 52%,rgba(16,29,37,.54) 100%),
    url("../images/hero-mountain.jpg") center 38%/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.17)
}
.corp-inner{min-height:168px;display:grid;grid-template-columns:245px 1fr 360px;gap:38px;align-items:center;padding:6px 0 10px}
.big-logo img{width:238px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}
.company-name{border-left:1px solid rgba(255,255,255,.18);padding-left:34px}
.company-name strong{font-size:30px;letter-spacing:.18em;font-weight:500;display:block;margin-bottom:9px}
.company-name span{font-size:12px;color:#b7c4ca;letter-spacing:.16em;text-transform:uppercase}
.company-name small{display:block;margin-top:7px;font-size:11px;color:#7f929b;letter-spacing:.14em}
.contact-box{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center;padding-top:30px;transform:translateY(8px)}
.contact-lines{display:grid;gap:7px;font-size:12px;color:#d4dde1}
.contact-lines span{display:flex;align-items:center;gap:9px}
.contact-lines b{color:#52bce8;font-size:15px}
.flags{display:flex;gap:12px;justify-content:flex-end;align-items:center;padding-top:5px}
.langflag{width:30px;height:20px;display:inline-flex;cursor:pointer;text-decoration:none;border-radius:2px;overflow:hidden;opacity:.72;box-shadow:0 0 0 1px rgba(255,255,255,.18);transition:.16s}
.langflag svg{width:100%;height:100%;display:block}
.langflag.active{opacity:1;box-shadow:0 0 0 2px #53c6f0,0 0 16px rgba(37,169,229,.28)}
.search-mini{grid-column:1/3;display:flex;justify-content:flex-end;margin-top:5px}
.search-mini button{width:220px;height:38px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.18);color:#adbcc4;text-align:left;padding:0 13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}

/* nav */
.navbar{height:68px;background:rgba(7,15,20,.96);color:#e5ecef;border-bottom:1px solid rgba(255,255,255,.13);position:sticky;top:0;z-index:80}
.navin{height:100%;display:flex;align-items:stretch}
.navlink,.navdrop>button{display:flex;align-items:center;gap:7px;height:100%;padding:0 23px;border:0;border-right:1px solid rgba(255,255,255,.09);background:none;color:#e2e8eb;font-size:13px;cursor:pointer;position:relative}
.navlink.active{color:#5cc8f3}
.navlink.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--blue)}
.navdrop{position:relative}
.navdrop>button svg{width:12px}
.navlink:hover,.navdrop>button:hover{background:rgba(255,255,255,.035);color:white}
.mega{position:absolute;left:0;top:68px;width:760px;background:#0e1a21;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 55px rgba(0,0,0,.36);padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.16s}
.navdrop:hover .mega{opacity:1;visibility:visible;transform:none}
.mega a{padding:13px;border:1px solid rgba(255,255,255,.07);background:#111f27}
.mega a:hover{background:#172934;border-color:rgba(74,185,231,.34)}
.mega strong{display:block;font-size:11px;color:#fff;margin-bottom:3px}
.mega span{font-size:9.5px;color:#8799a2}

/* HERO */
.hero{
  min-height:660px;position:relative;color:white;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(3,9,13,.64) 0%,rgba(4,10,14,.48) 39%,rgba(7,15,20,.16) 65%,rgba(7,14,18,.35) 100%),
    url("../images/hero-mountain.jpg") center/cover no-repeat;
}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.22))}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.7fr .65fr;gap:52px;padding:62px 0 210px;align-items:start}
.hero-copy{max-width:880px}
.hero-title{font-family:"Helvetica Neue","Segoe UI",Arial,sans-serif;font-size:clamp(50px,5.1vw,78px);font-weight:700;line-height:.96;letter-spacing:-.028em;margin:0 0 20px;text-shadow:0 7px 26px rgba(0,0,0,.34);text-transform:uppercase}
.hero-sub{font-size:clamp(14px,1.08vw,19px);font-weight:500;line-height:1.30;letter-spacing:.085em;color:#eef3f5;margin-bottom:20px;text-transform:uppercase}
.blue-line{width:70px;height:3px;background:var(--blue);margin:18px 0}
.hero-lead{font-size:18px;color:#c2cdd2;letter-spacing:.02em}
.hero-actions{display:flex;gap:18px;margin-top:27px;flex-wrap:wrap}
.hero-aside{margin-top:10px;border-left:2px solid rgba(66,190,238,.80);padding:24px 26px 22px 28px;min-height:300px;background:linear-gradient(90deg,rgba(3,10,14,.84),rgba(7,17,23,.68));box-shadow:0 18px 42px rgba(0,0,0,.22);backdrop-filter:blur(2px);opacity:1}
.hero-aside .blue-line{width:44px;margin-top:0;margin-bottom:18px}
.hero-aside ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:#e6edf0;font-size:11px;letter-spacing:.075em;opacity:.97;text-shadow:0 2px 10px rgba(0,0,0,.72)}
.quote{font-style:italic;font-size:16px;line-height:1.42;margin-top:28px;color:#f2f6f7;opacity:.98;text-shadow:0 2px 10px rgba(0,0,0,.72)}
.signature{margin-top:14px;text-align:right;color:#eef5f7;font-family:"Segoe Script","Brush Script MT",cursive;font-size:20px;opacity:.95;text-shadow:0 2px 10px rgba(0,0,0,.72)}
.director{text-align:right;font-size:10px;color:#d5e0e4;opacity:.98;text-shadow:0 2px 8px rgba(0,0,0,.68)}

/* six hero tiles */
.hero-tiles{position:absolute;left:0;right:0;bottom:0;z-index:3}
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding-bottom:18px}
.htile{min-height:168px;border:1px solid rgba(190,220,232,.28);
background:linear-gradient(180deg,rgba(12,26,34,.48),rgba(5,15,20,.88));
border-radius:5px;padding:16px 14px 17px;text-align:center;display:flex;flex-direction:column;
align-items:center;justify-content:flex-end;transition:.2s;box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)}
.htile:hover{transform:translateY(-4px);border-color:rgba(90,201,242,.64);background:linear-gradient(180deg,rgba(15,37,48,.56),rgba(5,16,22,.93))}
.hicon{width:58px;height:58px;color:#83daf8;margin-bottom:8px;filter:drop-shadow(0 0 5px rgba(54,185,235,.14))}
.hicon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.htile strong{font-size:13px;letter-spacing:.025em;font-weight:800;color:#fff}
.htile span{font-size:10px;color:#c3cdd2;line-height:1.35;margin-top:5px}

/* stats */
.stats{background:#09141a;color:white;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.1)}
.stats-grid{display:grid;grid-template-columns:.72fr .72fr .82fr 1.18fr 1.28fr 1.28fr auto;align-items:center}
.stat{min-height:108px;display:flex;align-items:center;gap:15px;padding:18px 24px;border-right:1px solid rgba(255,255,255,.16)}
.stat strong{display:block;font-size:29px;font-weight:400;line-height:1;color:#f1f5f6}
.stat span{display:block;font-size:9.5px;color:#b7c2c7;text-transform:uppercase;letter-spacing:.035em;margin-top:6px;line-height:1.35}
.stat-icon{font-size:26px;color:#83d6f4}
.stats .btn{margin-left:24px}

/* services detailed */
.detailed{background:#e9eef1}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:white;border:1px solid var(--lightline);box-shadow:0 8px 26px rgba(21,31,39,.06);overflow:hidden;border-radius:4px}
.card-pic{height:150px;position:relative;background:linear-gradient(135deg,rgba(5,15,20,.08),rgba(6,17,23,.50)),url("../images/hero-mountain.jpg") center/cover}
.card:nth-child(2) .card-pic{background-position:48% 68%}
.card:nth-child(3) .card-pic{background:linear-gradient(135deg,#dce3e7,#93a3ab)}
.card:nth-child(4) .card-pic{background:linear-gradient(#b4d5e3 0 45%,#4f8399 45% 60%,#334d58 60%)}
.card:nth-child(5) .card-pic{background:linear-gradient(155deg,#c5c3b9 0 52%,#77766d 52% 70%,#3b474b 70%)}
.card:nth-child(6) .card-pic{background:linear-gradient(135deg,#edf1f2 0 55%,#cbd5da 55%)}
.card-round{position:absolute;left:22px;bottom:-23px;width:52px;height:52px;border-radius:50%;background:white;border:1px solid var(--lightline);display:grid;place-items:center;color:var(--blue2);box-shadow:0 7px 15px rgba(0,0,0,.08)}
.card-round svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7}
.card-body{padding:34px 22px 22px}
.card-body h3{font-size:17px;margin-bottom:7px}
.card-body p{font-size:12px;color:var(--gray);min-height:55px}
.card-more{font-size:11px;font-weight:800;color:var(--blue2)}

/* process */
.process{
  color:white;background:
    linear-gradient(90deg,rgba(6,14,19,.94),rgba(13,24,31,.91)),
    url("../images/rock-texture.jpg") center/cover no-repeat;
}
.process h2{color:white}
.process p{color:#aab8bf}
.timeline{display:grid;grid-template-columns:repeat(6,1fr);margin-top:48px;position:relative}
.timeline:before{content:"";position:absolute;left:7%;right:7%;top:36px;height:1px;background:rgba(255,255,255,.24)}
.step{text-align:center;position:relative;z-index:2;padding:0 17px}
.circle{width:72px;height:72px;border-radius:50%;margin:auto;border:1px solid rgba(124,211,245,.65);background:#132129;display:grid;place-items:center;color:#79d2f4;box-shadow:0 0 0 7px rgba(8,17,22,.65)}
.circle svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6}
.n{position:absolute;top:58px;left:calc(50% - 41px);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-size:10px;font-weight:900}
.step strong{display:block;margin-top:18px;font-size:12px}
.step span{font-size:10px;color:#8fa2ab;display:block;margin-top:5px}

/* result section */
.results{background:#eef2f4}
.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:40px}
.result-card{text-align:center}
.result-art{height:130px;background:#eef2f4;border:1px solid var(--lightline);position:relative;overflow:hidden}
.result-art.layers:before{content:"";position:absolute;inset:12px;background:linear-gradient(#cad5d9 0 15%,#e0cda9 15% 33%,#b98f64 33% 52%,#85958e 52% 72%,#516873 72%)}
.result-art.table:before{content:"";position:absolute;inset:15px;background:repeating-linear-gradient(0deg,#cbd2d6 0 1px,transparent 1px 15px),repeating-linear-gradient(90deg,#cbd2d6 0 1px,#fff 1px 42px)}
.result-art.report:before{content:"";position:absolute;left:25%;top:8%;width:50%;height:84%;background:white;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.result-art.checks:before{content:"✓\A✓\A✓\A✓";white-space:pre;position:absolute;left:37%;top:18px;color:var(--blue2);font-size:21px;line-height:1.15}
.result-card b{display:block;font-size:12px;margin-top:14px}
.result-card span{font-size:10px;color:var(--gray)}

/* project chooser */
.chooser{background:#e7ecef}
.choose-grid{display:grid;grid-template-columns:1.5fr repeat(2,1fr);gap:14px}
.choose{min-height:210px;background:white;border:1px solid var(--lightline);padding:24px;position:relative;overflow:hidden}
.choose.big{grid-row:span 2;min-height:434px;color:white;background:linear-gradient(rgba(5,14,19,.72),rgba(7,18,24,.93)),url("../images/hero-mountain.jpg") center/cover}
.choose h3{font-size:20px}
.choose.big h3{font-size:30px;margin-top:120px;max-width:500px}
.choose p{font-size:11px;color:var(--gray)}
.choose.big p{color:#b6c2c7;max-width:520px}
.ring{position:absolute;width:190px;height:190px;border:30px solid rgba(37,169,229,.07);border-radius:50%;right:-55px;bottom:-65px}
.choose.big .ring{width:370px;height:370px;border-width:58px;right:-110px;bottom:-130px}

/* inquiry */
.inquiry{
  color:white;background:
    linear-gradient(90deg,rgba(4,12,17,.96),rgba(13,24,31,.88)),
    url("../images/rock-texture.jpg") center/cover
}
.inquiry-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:60px}
.inquiry p{color:#aebcc3}
.form{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);padding:25px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label{display:block;font-size:9.5px;font-weight:800;color:#ced9de;margin-bottom:4px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid rgba(255,255,255,.14);background:rgba(3,10,14,.40);color:#fff;outline:0}
input::placeholder,textarea::placeholder{color:#71858e}
select option{color:#111}
textarea{min-height:86px;resize:vertical}
.full{grid-column:span 2}
.formfoot{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px}
.note{font-size:9px;color:#80949e}

.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:20px;margin-top:12px;font-size:11px;line-height:1.45;font-weight:600}
.form-status.success{color:#9be7bd}
.form-status.error{color:#ffb4b4}
.form-status.info{color:#a9dff4}
.form button[disabled]{opacity:.62;cursor:wait;pointer-events:none}

/* footer */
footer{background:#050c10;color:white;padding:44px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px}
.foot-logo{display:inline-block;background:#fff;padding:6px 11px;border-radius:5px}
.foot-logo img{width:175px}
footer p{font-size:10px;color:#82949d;max-width:350px}
.ftitle{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;margin-bottom:11px;color:#d9e1e4}
.flink{display:grid;gap:7px;font-size:10.5px;color:#8fa0a8}
.bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:17px;font-size:9.5px;color:#657982}

/* search */
.modal{position:fixed;inset:0;background:rgba(2,7,10,.78);z-index:150;backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:.18s}
.modal.open{opacity:1;visibility:visible}
.searchbox{width:min(760px,calc(100% - 30px));margin:8vh auto;background:#fff;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.searchhead{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--lightline)}
.searchhead input{border:0;background:#fff;color:var(--ink);font-size:18px;padding:4px}
.searchhead button{border:0;background:none;font-size:20px;cursor:pointer}
.searchresults{padding:8px;max-height:430px;overflow:auto}
.searchresults a{display:block;padding:12px}
.searchresults a:hover{background:#eef2f4}
.searchresults strong{display:block;font-size:12px}
.searchresults span{font-size:10px;color:var(--gray)}


.stat-svg{width:48px;height:48px;flex:0 0 48px;color:#c8d8df}
.stat-svg svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.stat-svg.people{color:#82d4f3}
.stat-svg.shield{color:#95dcf8}
.stat-label{font-size:12.5px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.035em;line-height:1.25!important}
.stat-number{justify-content:flex-start}
.stat-contact{margin:0 0 0 22px;min-width:170px}

@media(max-width:1100px){
  .corp-inner{grid-template-columns:210px 1fr} .contact-box{display:none}
  .navbar{height:auto} .navin{overflow:auto} .navlink,.navdrop>button{min-width:max-content;height:60px}
  .hero-grid{grid-template-columns:1fr;padding-bottom:390px} .hero-aside{display:none}
  .tiles{grid-template-columns:repeat(3,1fr)} .stats-grid{grid-template-columns:repeat(3,1fr)} .stats .btn{margin:18px;justify-self:start}
  .cards{grid-template-columns:1fr 1fr} .timeline{grid-template-columns:1fr 1fr;gap:35px} .timeline:before{display:none}
  .result-grid{grid-template-columns:1fr 1fr 1fr} .choose-grid{grid-template-columns:1fr 1fr} .choose.big{grid-column:span 2;grid-row:auto;min-height:330px}
  .inquiry-grid{grid-template-columns:1fr} .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .wrap{width:min(var(--max),calc(100% - 26px))}
  .corp-inner{grid-template-columns:1fr;text-align:center;padding:20px 0} .big-logo img{margin:auto;width:190px} .company-name{display:none}
  .navbar{position:relative} .navdrop{display:none} .navlink{padding:0 16px}
  .hero-grid{padding:50px 0 720px} .hero-title{font-size:49px} .hero-sub{font-size:30px}
  .hero-actions .btn{width:100%} .tiles{grid-template-columns:1fr 1fr} .htile{min-height:145px}
  .stats-grid{grid-template-columns:1fr 1fr} .stat{min-height:90px;padding:14px}
  .cards,.result-grid,.choose-grid,.footer-grid,.form-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .choose.big{grid-column:auto} .full{grid-column:auto}
  .formfoot{align-items:stretch;flex-direction:column} .bottom{flex-direction:column;gap:8px}
}

/* Reference-image service icons */
.hicon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}


/* Uploaded Armenia contour icon */
.stat-svg img{width:100%;height:100%;object-fit:contain;display:block;}

.stat-svg.armenia{width:54px;height:54px;}
.stat-svg.armenia img{width:100%;height:100%;object-fit:contain;display:block;}

/* Precise stop position for quick links from Buildings / Bridges / Roads / Utilities */
#engineering-geological-investigations{
  scroll-margin-top:88px;
}

.project-experience-page .project-framework .card{
  min-height:190px;
}
.project-experience-page .project-framework .card-body{
  padding-top:28px;
}


/* Internal service pages */
.service-page-hero{
  min-height:420px;
  display:flex;
  align-items:center;
  position:relative;
  background:
    linear-gradient(90deg,rgba(5,15,21,.96),rgba(8,22,30,.82) 55%,rgba(8,22,30,.60)),
    url("../images/hero-mountain.jpg") center/cover no-repeat;
  color:#fff;
  border-bottom:1px solid rgba(137,190,214,.18);
}
.service-page-hero-inner{padding-top:74px;padding-bottom:74px;}
.service-page-hero h1{font-family:"Helvetica Neue","Segoe UI",Arial,sans-serif;font-size:clamp(38px,5vw,68px);line-height:1.03;margin:12px 0 18px;font-weight:700;max-width:940px;}
.service-page-hero p{max-width:850px;font-size:17px;line-height:1.75;color:#d3dde2;margin:0;}
.service-page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.service-detail-section:nth-of-type(even){background:#edf2f4;}
.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.service-detail-card{background:#fff;border:1px solid #d7e0e4;border-radius:7px;padding:28px;min-height:180px;box-shadow:0 8px 24px rgba(17,36,45,.05);}
.service-detail-card h3{font-size:18px;margin:0 0 12px;color:#172b35;}
.service-detail-card p{font-size:14px;line-height:1.7;color:#5d6c74;margin:0;}
@media(max-width:900px){.service-detail-grid{grid-template-columns:1fr 1fr}.service-page-hero{min-height:360px}}
@media(max-width:600px){.service-detail-grid{grid-template-columns:1fr}.service-page-hero h1{font-size:38px}}

/* Keep the Services heading visible below the sticky navigation when using quick links */
#services{
  scroll-margin-top:76px;
}

/* Entire service cards are clickable */
.card[data-href]{
  cursor:pointer;
}
.card[data-href]:focus-visible{
  outline:2px solid #4fc3ef;
  outline-offset:3px;
}


/* ==========================================================
   HOMEPAGE MICRO-ANIMATIONS
   Applied only to index.html via body.home-page.
   No layout, text or structure changes.
   ========================================================== */

/* Main CTA buttons */
.home-page .btn{
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    filter .28s ease,
    background-color .28s ease,
    border-color .28s ease;
}
.home-page .btn svg{
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.home-page .btn:hover{
  transform:translateY(-2px);
}
.home-page .btn:hover svg{
  transform:translateX(4px);
}
.home-page .btn-blue:hover{
  filter:brightness(1.08);
  box-shadow:0 14px 32px rgba(16,137,195,.30);
}
.home-page .btn-ghost:hover{
  background:rgba(19,47,61,.58);
  border-color:rgba(108,211,249,.92);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.home-page .btn-dark:hover{
  background:#18303d;
  box-shadow:0 12px 28px rgba(6,17,24,.18);
}

/* Header search button */
.home-page .search-mini button{
  transition:
    transform .24s ease,
    background-color .24s ease,
    border-color .24s ease,
    color .24s ease;
}
.home-page .search-mini button:hover{
  transform:translateY(-1px);
  border-color:rgba(103,205,246,.56);
  background:rgba(255,255,255,.055);
  color:#fff;
}

/* Navigation feels responsive without changing its design */
.home-page .navlink,
.home-page .navdrop>button{
  transition:
    color .22s ease,
    background-color .22s ease,
    text-shadow .24s ease;
}
.home-page .navlink:hover,
.home-page .navdrop>button:hover{
  text-shadow:0 2px 4px rgba(225,246,255,.18);
}
.home-page .navdrop>button svg{
  transition:transform .24s ease;
}
.home-page .navdrop:hover>button svg{
  transform:translateY(1px) rotate(180deg);
}
.home-page .mega a{
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    background-color .24s ease,
    border-color .24s ease;
}
.home-page .mega a:hover{
  transform:translateX(3px);
}

/* Six hero tiles */
.home-page .htile{
  position:relative;
  z-index:1;
  transform-origin:center center;
  transition:
    transform .30s cubic-bezier(.2,.8,.2,1),
    border-color .30s ease,
    background .30s ease,
    box-shadow .30s ease;
}
.home-page .htile .hicon{
  transition:
    transform .30s cubic-bezier(.2,.8,.2,1),
    filter .30s ease;
}
.home-page .htile strong{
  transition:color .26s ease;
}
.home-page .htile:hover{
  z-index:5;
  transform:scale(1.03);
  border-color:rgba(90,201,242,.68);
  box-shadow:
    0 11px 24px rgba(131,220,252,.16),
    0 18px 34px rgba(0,0,0,.14);
}
.home-page .htile:hover .hicon{
  transform:scale(1.04);
  filter:drop-shadow(0 3px 7px rgba(101,210,250,.22));
}
.home-page .htile:hover strong{
  color:#8bdcff;
}

/* Clickable service cards */
.home-page .card[data-href]{
  position:relative;
  z-index:1;
  transform-origin:center center;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    box-shadow .32s ease,
    border-color .32s ease;
}
.home-page .card[data-href] .card-pic{
  transition:filter .32s ease;
}
.home-page .card[data-href] .card-round{
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    box-shadow .32s ease,
    color .32s ease;
}
.home-page .card[data-href] .card-more{
  display:inline-block;
  transition:
    transform .28s ease,
    color .28s ease;
}
.home-page .card[data-href]:hover{
  z-index:5;
  transform:scale(1.03);
  box-shadow:
    0 0 0 1px rgba(25,39,48,.05),
    0 8px 22px rgba(23,34,42,.12),
    0 18px 40px rgba(14,23,29,.16);
  border-color:rgba(50,155,202,.28);
}
.home-page .card[data-href]:hover .card-pic{
  filter:brightness(1.025);
}
.home-page .card[data-href]:hover .card-round{
  transform:scale(1.045);
  color:#168fc8;
  box-shadow:
    0 5px 14px rgba(25,39,48,.10),
    0 8px 18px rgba(83,190,232,.10);
}
.home-page .card[data-href]:hover .card-more{
  transform:translateX(3px);
  color:#0c7fae;
}

/* Contact button in the statistics strip */
.home-page .stat-contact:hover{
  transform:translateY(-2px);
}

/* Respect accessibility preferences */
@media (prefers-reduced-motion: reduce){
  .home-page *,
  .home-page *::before,
  .home-page *::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* Shared shell custom elements
   The header wrapper must not create a containing box around the sticky navbar.
   display:contents lets the corporate header scroll normally while the navigation
   remains attached to the top of the viewport for the full page. */
site-header{display:contents}
site-footer{display:block}

/* Keep anchor targets visible below the persistent navigation. */
html{scroll-padding-top:76px}


/* Page navigation: compact return-to-top links */
.page-top-row{display:flex;justify-content:center;align-items:center;margin-top:34px;}
.page-top-final{padding:0 0 58px;}
.page-top-link{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 18px;border:1px solid #c8d5db;border-radius:999px;background:rgba(255,255,255,.92);color:#26414e;font-size:12px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;box-shadow:0 5px 18px rgba(17,36,45,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;}
.page-top-link:hover,.page-top-link:focus-visible{transform:translateY(-2px);border-color:#8fb9ca;background:#fff;box-shadow:0 10px 24px rgba(17,36,45,.12);outline:none;}
.page-top-link .up-arrow{font-size:16px;line-height:1;color:#168fc7;transform:translateY(-1px);}

/* Compact Hydrogeological Assessment page */
.hydro-page .service-page-hero{min-height:390px;}
.hydro-page .hydro-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px;margin:0 auto;}
.hydro-page .hydro-scope-grid .service-detail-card{min-height:205px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.hydro-page .hydro-scope-grid .service-detail-card:hover{transform:translateY(-3px);border-color:#b9d3df;box-shadow:0 14px 32px rgba(17,36,45,.11);}
.hydro-engineering-use{background:#edf2f4;}
.hydro-use-panel{max-width:1050px;margin:0 auto;background:#fff;border:1px solid #d5e0e5;border-radius:9px;padding:32px 34px;box-shadow:0 8px 26px rgba(17,36,45,.055);}
.hydro-use-panel p{max-width:900px;margin:0 auto 24px;color:#5d6c74;font-size:15px;line-height:1.75;text-align:center;}
.hydro-use-tags{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.hydro-use-tag{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid #d4e0e5;border-radius:999px;background:#f8fafb;color:#304b58;font-size:13px;font-weight:700;}
.hydro-use-tag::before{content:'•';color:#1a9bd1;font-size:18px;line-height:1;}
@media(max-width:760px){
  .hydro-page .hydro-scope-grid{grid-template-columns:1fr;}
  .hydro-page .hydro-scope-grid .service-detail-card{min-height:0;}
  .hydro-use-panel{padding:26px 20px;}
  .page-top-final{padding-bottom:42px;}
}

/* Floating back-to-top control */
.floating-back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:950;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:112px;
  height:38px;
  padding:0 13px;
  border:1px solid rgba(146,174,187,.62);
  border-radius:999px;
  background:rgba(255,255,255,.93);
  color:#284653;
  box-shadow:0 7px 20px rgba(17,36,45,.12);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease,box-shadow .2s ease,border-color .2s ease;
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
.floating-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.floating-back-to-top:hover,
.floating-back-to-top:focus-visible{
  border-color:#79b8d2;
  box-shadow:0 10px 26px rgba(17,36,45,.17);
  outline:none;
  transform:translateY(-2px);
}
.floating-back-to-top .floating-top-arrow{
  color:#168fc7;
  font-size:17px;
  line-height:1;
  transform:translateY(-1px);
}
@media(max-width:760px){
  .floating-back-to-top{
    right:8px;
    bottom:12px;
    min-width:38px;
    width:38px;
    height:38px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:#168fc7;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    text-shadow:0 1px 3px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.85);
  }
  .floating-back-to-top:hover,
  .floating-back-to-top:focus-visible{
    border:0;
    box-shadow:none;
    transform:translateY(-1px);
  }
  .floating-back-to-top .floating-top-label{display:none;}
  .floating-back-to-top .floating-top-arrow{font-size:27px;font-weight:600;}
}
@media(prefers-reduced-motion:reduce){
  .floating-back-to-top{transition:none;}
}



/* ============================================================
   Report verification
   ============================================================ */
.nav-verify{
  align-self:center;
  height:38px;
  margin:15px 0 15px auto;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(83,198,240,.55);
  border-radius:4px;
  background:rgba(36,151,197,.14);
  color:#eaf8fd;
  font-size:10.5px;
  line-height:1;
  font-weight:900;
  letter-spacing:.055em;
  white-space:nowrap;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.nav-verify:hover{background:rgba(36,151,197,.28);border-color:rgba(83,198,240,.9);transform:translateY(-1px)}
.nav-verify-mark{font-size:13px;color:#66cdf3}
.hero-actions{align-items:flex-start}
.hero-action-stack{display:flex;flex-direction:column;gap:10px}
.hero-action-stack>.btn{min-width:220px}
.btn-verify-hero{border-color:rgba(97,199,241,.78);color:#fff;background:rgba(4,12,18,.48)}
.btn-verify-hero:hover{background:rgba(23,113,151,.42);border-color:#62caf3}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.verify-modal-open{overflow:hidden}
.verify-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.verify-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.verify-modal-backdrop{position:absolute;inset:0;background:rgba(3,9,13,.78);backdrop-filter:blur(4px)}
.verify-dialog{position:relative;width:min(560px,100%);padding:34px 36px 36px;background:#fff;border:1px solid #d9e4e8;border-radius:10px;box-shadow:0 26px 80px rgba(0,0,0,.34);transform:translateY(10px) scale(.985);transition:transform .2s ease}
.verify-modal.open .verify-dialog{transform:none}
.verify-dialog-close{position:absolute;top:14px;right:15px;width:36px;height:36px;border:1px solid #d5e0e4;border-radius:50%;background:#fff;color:#4d6069;font-size:23px;line-height:1;cursor:pointer}
.verify-dialog-close:hover{border-color:#9fc7d6;color:#1e708f;background:#f7fbfc}
.verify-dialog-mark{width:46px;height:46px;margin-bottom:18px;border-radius:50%;display:grid;place-items:center;background:#eef8fc;border:1px solid #b9dce9;color:#2086ad;font-size:22px;font-weight:900}
.verify-dialog .eyebrow{margin-bottom:8px}
.verify-dialog h2{margin:0 40px 10px 0;font-size:29px;line-height:1.18;color:#172b35}
.verify-dialog p{margin:0 0 21px;color:#61727a;font-size:14px;line-height:1.65}
.verify-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.verify-form input{min-width:0;height:52px;padding:0 15px;border:1px solid #cbd8de;border-radius:5px;background:#fbfdfe;color:#172b35;font:inherit;outline:none;text-transform:uppercase;letter-spacing:.04em}
.verify-form input:focus{border-color:#56bce5;box-shadow:0 0 0 3px rgba(45,180,239,.11)}
.verify-form .btn{min-width:118px}
.verify-result{min-height:20px;margin-top:14px;color:#58717c;font-size:12.5px;line-height:1.55}
.verify-or{display:flex;align-items:center;gap:12px;margin:16px 0;color:#8a979d;font-size:10px;font-weight:900;letter-spacing:.12em;text-align:center}
.verify-or::before,.verify-or::after{content:"";height:1px;flex:1;background:#e0e8eb}
.verify-qr-btn{width:100%;height:48px;border:1px solid #b9d3dd;border-radius:5px;background:#f7fbfc;color:#256d88;display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:11px;font-weight:900;letter-spacing:.055em;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.verify-qr-btn:hover,.verify-qr-btn:focus-visible{background:#eef8fb;border-color:#72b7cf;transform:translateY(-1px);outline:none}
.verify-qr-btn svg{width:19px;height:19px;fill:currentColor;flex:0 0 auto}
.verify-qr-scanner{margin-top:14px;padding:12px;border:1px solid #d7e3e7;border-radius:7px;background:#f7fafb}
.verify-qr-scanner[hidden]{display:none!important}
.verify-video-wrap{position:relative;overflow:hidden;aspect-ratio:4/3;max-height:260px;border-radius:6px;background:#0c1519}
.verify-qr-video{display:block;width:100%;height:100%;object-fit:cover}
.verify-scan-frame{position:absolute;left:50%;top:50%;width:min(58%,210px);aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid rgba(109,215,250,.95);border-radius:8px;box-shadow:0 0 0 999px rgba(0,0,0,.18)}
.verify-camera-hint{margin:10px 4px 0;color:#5f7078;font-size:11.5px;line-height:1.5;text-align:center}
.verify-stop-scan{display:block;margin:10px auto 0;padding:7px 12px;border:0;background:transparent;color:#2d7895;font:inherit;font-size:10px;font-weight:900;letter-spacing:.04em;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.verify-stop-scan:hover,.verify-stop-scan:focus-visible{color:#175b76;outline:none}

/* Live report verification results */
.verify-result.is-error{margin-top:16px;padding:12px 14px;border-radius:7px;background:#faeeee;color:#8a3030;font-weight:650}
.verify-result.is-success{margin-top:18px;padding:18px;border:1px solid #cfe3d8;border-radius:8px;background:#f3faf6;color:#274438;text-align:left}
.verify-success-title{font-size:12px;letter-spacing:.07em;font-weight:900;color:#237a4d;margin-bottom:13px}
.verify-meta{display:grid;gap:8px;margin-bottom:14px}.verify-meta>div{display:grid;grid-template-columns:120px 1fr;gap:12px;border-bottom:1px solid #dcebe2;padding-bottom:7px}.verify-meta span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6d8177}.verify-meta strong{font-size:13px;color:#243c31}.verify-view-report{width:100%;margin-top:4px}
@media(max-width:520px){.verify-meta>div{grid-template-columns:1fr;gap:3px}}
