:root{--ink:#071b35;--blue:#075cb7;--cyan:#2dc6e8;--paper:#f4f7fb;--line:#dbe5ef;--muted:#617187;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,h4{font-family:Manrope,sans-serif;margin:0 0 18px;line-height:1.05}p{line-height:1.75;color:var(--muted)}a{color:inherit;text-decoration:none}.loader{position:fixed;inset:0;z-index:9999;background:#04162d;color:#fff;display:grid;place-content:center;text-align:center;transition:.8s}.loader.hide{opacity:0;visibility:hidden}.loader img{width:150px;margin:24px auto 12px}.loader small{letter-spacing:.15em;text-transform:uppercase}.loader-mark{display:flex;gap:8px;justify-content:center}.loader-mark span{width:4px;height:70px;background:linear-gradient(var(--cyan),transparent);animation:rise 1s infinite alternate}.loader-mark span:nth-child(2){animation-delay:.2s}.loader-mark span:nth-child(3){animation-delay:.4s}@keyframes rise{to{transform:scaleY(.35);opacity:.3}}.site-header{height:88px;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(4,22,45,.82);backdrop-filter:blur(16px);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:76px}.brand strong{display:block;font-size:20px}.brand span{font-size:11px;color:#a9bed6}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{font-size:14px}.nav-cta,.btn{padding:13px 20px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:inline-block;font-weight:700}.menu-btn{display:none}.hero{min-height:100vh;position:relative;display:flex;align-items:end;padding:150px 7vw 9vh;color:#fff;background:linear-gradient(90deg,rgba(3,17,35,.94),rgba(3,17,35,.35)),url('../images/P1078687.JPG') center/cover}.hero:after{content:'';position:absolute;inset:auto 0 0;height:140px;background:linear-gradient(transparent,#fff)}.hero-content{max-width:850px;position:relative;z-index:2}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#71dff2;font-weight:700;font-size:13px}.hero h1{font-size:clamp(52px,7vw,106px);letter-spacing:-.055em}.hero h1 em{font-style:normal;color:#55d7ed}.hero p{color:#d6e2ef;font-size:19px;max-width:680px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.45)}.section{padding:100px 7vw}.section.alt{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}.section-head h2{font-size:clamp(38px,5vw,68px);max-width:800px}.section-head p{max-width:520px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.stat{background:#fff;padding:34px}.stat strong{font:800 42px Manrope;display:block;color:var(--blue)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.35s}.card:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(7,27,53,.12)}.card img{width:100%;height:240px;object-fit:cover}.card-body{padding:26px}.card small{color:var(--blue);font-weight:700;text-transform:uppercase}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}.split img{width:100%;border-radius:28px;min-height:520px;object-fit:cover}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ticks span{padding:14px;border:1px solid var(--line);border-radius:12px}.marquee{overflow:hidden;background:#071b35;color:#fff;padding:18px 0}.marquee-track{white-space:nowrap;animation:scroll 25s linear infinite;font-weight:700;letter-spacing:.1em}@keyframes scroll{to{transform:translateX(-50%)}}.page-hero{padding:180px 7vw 90px;background:linear-gradient(110deg,#04162d,#0a4c91);color:#fff}.page-hero h1{font-size:clamp(48px,7vw,92px)}.page-hero p{color:#c7d8e9;max-width:720px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff}.service b{font-size:28px;color:var(--blue)}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:16px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:18px}.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.06)}.gallery figcaption{position:absolute;inset:auto 0 0;padding:18px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}.client-cloud{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.client-cloud span{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:600}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px}.form{display:grid;gap:16px}.form input,.form select,.form textarea{width:100%;padding:16px;border:1px solid var(--line);border-radius:12px;font:inherit}.form textarea{min-height:140px}.notice{padding:14px;border-radius:10px;background:#e9f8ef;color:#176b39}footer{background:#04162d;color:#fff;padding:70px 7vw 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr .7fr;gap:50px}.footer-logo{width:120px}.footer-grid p{color:#a9bed6}.footer-grid a{display:block;margin:8px 0}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:#8fa7c1}.float-call{position:fixed;right:20px;bottom:20px;background:#18a84b;color:#fff;padding:14px 20px;border-radius:999px;z-index:30}.reveal{opacity:0;transform:translateY(30px);transition:.8s}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#04162d;padding:25px;flex-direction:column}.site-header nav.open{display:flex}.menu-btn{display:block;background:none;border:0;color:#fff;font-size:25px}.brand span{display:none}.stats,.cards,.service-grid,.client-cloud{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-row:auto;grid-column:span 2}.footer-grid{grid-template-columns:1fr}.section{padding:75px 6vw}}@media(max-width:560px){.hero{padding-left:6vw}.hero h1{font-size:50px}.stats,.cards,.service-grid,.client-cloud,.ticks{grid-template-columns:1fr}.gallery{display:block}.gallery figure{height:260px;margin-bottom:14px}.gallery figure:first-child{grid-column:auto}.section-head{display:block}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
/* v2 visual expansion */
.service-page-hero{background:linear-gradient(105deg,rgba(3,17,35,.96),rgba(3,52,96,.72)),url('../images/banner/CON_banner.jpeg') center/cover}.clients-hero{background:linear-gradient(105deg,rgba(3,17,35,.95),rgba(7,92,183,.65)),url('../images/banner/CON_HOTEL-THE-WAVE-INTERNATIONAL.jpg') center/cover}.gallery-hero{background:linear-gradient(105deg,rgba(3,17,35,.95),rgba(3,17,35,.35)),url('../images/P1078654.JPG') center/cover}.service-showcase{display:grid;gap:34px}.service-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center;padding:42px;background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden}.service-story:nth-child(even){grid-template-columns:1.1fr .9fr}.service-story:nth-child(even) .service-copy{order:2}.service-no{font:800 54px Manrope;color:#d8e9f8;display:block;margin-bottom:12px}.service-story h2{font-size:clamp(34px,4vw,58px)}.service-story ul{padding-left:20px;color:var(--muted);line-height:1.8;margin:22px 0 28px}.service-main{width:100%;height:430px;object-fit:cover;border-radius:22px}.service-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.service-thumbs img{width:100%;height:115px;object-fit:cover;border-radius:12px}.process-line{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.process-line>div{padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px}.process-line b{font:800 30px Manrope;color:var(--cyan)}.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.logo-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;transition:.3s}.logo-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(7,27,53,.1)}.logo-card img{width:100%;height:110px;object-fit:contain;filter:grayscale(1);transition:.3s}.logo-card:hover img{filter:none}.logo-card span{display:block;text-align:center;font-size:13px;color:var(--muted);margin-top:8px}.sector-tags{display:flex;flex-wrap:wrap;gap:10px}.sector-tags span{padding:11px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:13px}.client-list-panel{background:var(--ink);color:#fff;border-radius:26px;padding:34px}.client-list-panel div{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#c8d5e3}.logo-marquee{overflow:hidden;background:#fff;border-block:1px solid var(--line);padding:20px 0}.logo-marquee-track{display:flex;gap:18px;width:max-content;animation:logoScroll 45s linear infinite}.logo-marquee img{width:210px;height:90px;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#fff}@keyframes logoScroll{to{transform:translateX(-50%)}}.masonry-gallery{columns:3 300px;column-gap:18px}.masonry-gallery figure{break-inside:avoid;margin:0 0 18px;position:relative;border-radius:18px;overflow:hidden}.masonry-gallery img{width:100%;display:block;min-height:240px;object-fit:cover}.masonry-gallery figcaption{position:absolute;inset:auto 0 0;padding:30px 16px 14px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78))}.home-client-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.home-client-strip img{width:100%;height:90px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}.image-ribbon{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;height:360px}.image-ribbon img{width:100%;height:100%;object-fit:cover;border-radius:18px}
@media(max-width:1000px){.service-story,.service-story:nth-child(even){grid-template-columns:1fr}.service-story:nth-child(even) .service-copy{order:initial}.process-line{grid-template-columns:repeat(2,1fr)}.logo-wall{grid-template-columns:repeat(3,1fr)}.home-client-strip{grid-template-columns:repeat(3,1fr)}.image-ribbon{grid-template-columns:1fr 1fr;height:auto}.image-ribbon img{height:240px}}
@media(max-width:600px){.service-story{padding:22px}.service-main{height:280px}.service-thumbs img{height:80px}.process-line,.logo-wall,.home-client-strip{grid-template-columns:1fr 1fr}.image-ribbon{grid-template-columns:1fr}.image-ribbon img{height:230px}}
