@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@300;400;600;700;800&family=Inter:wght@400;700;900&display=swap');*{box-sizing:border-box}body{margin:0;font-family:'Noto Sans Thai',Inter,sans-serif;color:#101522;background:#f6f7fb}header{height:86px;display:flex;align-items:center;gap:36px;padding:0 7%;background:white;position:sticky;top:0;z-index:5;box-shadow:0 8px 30px #0001}.logo{height:46px}nav{display:flex;gap:24px;flex:1}nav a{font-weight:700}.btn{display:inline-block;background:#f04a2a;color:#fff;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:800}.ghost{background:transparent;border:1px solid #fff;margin-left:12px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:80px 7%;background:linear-gradient(135deg,#050814,#101a45);color:#fff}.hero h1{font-size:clamp(38px,6vw,74px);line-height:1.02;margin:0 0 24px;font-family:Inter,sans-serif}.hero p{font-size:18px;line-height:1.8;opacity:.92}.eyebrow{color:#ff8a48;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero img{width:100%;border-radius:28px;box-shadow:0 30px 80px #0008}section{padding:76px 7%}h2{font-size:42px;margin:0 0 24px;color:#101a45}.grid{display:grid;gap:24px}.services{grid-template-columns:repeat(4,1fr)}article,figure{background:white;border-radius:22px;padding:26px;box-shadow:0 14px 40px #0b17400d}h3{margin:0 0 12px;color:#101a45}.dark{background:#101a45;color:white}.dark h2{color:white}.portfolio{grid-template-columns:repeat(3,1fr)}figure{padding:0;overflow:hidden;color:#101522;background:transparent;box-shadow:none}figure img{width:100%;height:260px;object-fit:cover;display:block;border-radius:22px}figcaption{display:none}.why{grid-template-columns:repeat(3,1fr)}.contact{text-align:center;background:white}footer{padding:30px 7%;background:#050814;color:#fff;text-align:center}@media(max-width:900px){header{height:auto;padding:18px 5%;flex-wrap:wrap}nav{display:none}.hero{grid-template-columns:1fr;padding:56px 5%}.services,.portfolio,.why{grid-template-columns:1fr}section{padding:54px 5%}}

/* v6 social contact icons */
.social-contact{display:grid;gap:12px;justify-content:center;align-items:center;margin-top:24px;text-align:left}
.social-contact .contact-item{display:flex;align-items:center;gap:14px;font-size:20px;line-height:1.4;color:#050814}
.social-contact .contact-icon{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;background:#101A45;color:#fff}
.social-contact .contact-icon svg{width:22px;height:22px;display:block;fill:currentColor}
.social-contact .facebook{background:#1877F2}
.social-contact .line{background:#06C755}
.social-contact .email{background:#101A45}
.social-contact .phone{background:#F04A2A}
@media (max-width:640px){.social-contact .contact-item{font-size:16px}.social-contact .contact-icon{width:34px;height:34px;flex-basis:34px}.social-contact .contact-icon svg{width:19px;height:19px}}

/* Services page */
.page-hero{padding:130px 0 72px;background:linear-gradient(135deg,#050814,#101A45);color:#fff;}
.page-hero h1{font-size:clamp(44px,7vw,88px);margin:10px 0 16px;letter-spacing:-.04em;}
.page-lead{max-width:760px;font-size:20px;line-height:1.75;color:rgba(255,255,255,.82);}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.center p{margin-left:auto;margin-right:auto;}
.service-showcase{background:#fff;}
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;}
.showcase-item{margin:0;min-height:260px;border-radius:24px;overflow:hidden;background:#eef0f4;box-shadow:0 18px 45px rgba(5,8,20,.12);}
.showcase-item img{width:100%;height:100%;display:block;object-fit:cover;}
.showcase-large{grid-column:span 2;grid-row:span 2;min-height:540px;}
.showcase-wide{grid-column:span 2;}
.service-tags-section{padding-top:20px;background:#fff;}
.service-tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.service-tags span{padding:12px 18px;border-radius:999px;background:#f4f5f7;color:#101A45;font-weight:700;border:1px solid rgba(16,26,69,.08);}
.cta-section{background:#f4f5f7;}
.cta-box{text-align:center;background:#101A45;color:#fff;border-radius:28px;padding:54px 28px;}
.cta-box p{color:rgba(255,255,255,.78);margin-bottom:26px;}
@media (max-width: 860px){.showcase-grid{grid-template-columns:1fr}.showcase-large,.showcase-wide{grid-column:auto;grid-row:auto;min-height:280px}.page-hero{padding-top:110px}.main-nav{gap:14px}}


/* Portfolio page */
.portfolio-page-section{background:#fff;}
.portfolio-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px;}
.portfolio-page-item{margin:0;border-radius:24px;overflow:hidden;background:#eef0f4;box-shadow:0 18px 45px rgba(5,8,20,.12);min-height:310px;}
.portfolio-page-item img{width:100%;height:100%;display:block;object-fit:cover;}
.portfolio-feature{grid-column:span 2;grid-row:span 2;min-height:640px;}
.portfolio-wide{grid-column:span 2;}
.portfolio-tags-section{padding-top:0;}
.site-header .brand img{height:46px;}
.container{width:min(1180px,86%);margin:0 auto;}
.nav-wrap{height:86px;display:flex;align-items:center;gap:36px;}
.main-nav{display:flex;gap:24px;flex:1;}
.main-nav a{text-decoration:none;color:#101522;font-weight:700;}
.nav-cta{display:inline-block;background:#f04a2a;color:#fff;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:800;}
.site-header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 8px 30px #0001;}
.site-footer{padding:30px 7%;background:#050814;color:#fff;text-align:center;}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
@media (max-width:860px){.portfolio-page-grid{grid-template-columns:1fr}.portfolio-feature,.portfolio-wide{grid-column:auto;grid-row:auto;min-height:300px}.nav-wrap{height:auto;padding:18px 0;flex-wrap:wrap}.main-nav{display:none}.footer-inner{justify-content:center;text-align:center}}


/* Client logo grid */
.clients-section{background:#fff;padding-top:30px;}
.clients-section .section-head{margin-bottom:34px;}
.client-logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.client-logo-card{height:118px;border-radius:22px;background:#fff;border:1px solid rgba(16,26,69,.08);box-shadow:0 14px 34px rgba(5,8,20,.07);display:flex;align-items:center;justify-content:center;padding:22px;transition:transform .2s ease, box-shadow .2s ease;}
.client-logo-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(5,8,20,.12);}
.client-logo-card img{max-width:100%;max-height:70px;object-fit:contain;display:block;}
@media (max-width:980px){.client-logo-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.client-logo-grid{grid-template-columns:repeat(2,1fr);gap:12px}.client-logo-card{height:96px;padding:16px;border-radius:18px}.client-logo-card img{max-height:56px}}

/* v10 client logo fixes */
.client-logo-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.client-logo-card{
  background:#fff;
  border:1px solid rgba(16,26,69,.08);
  border-radius:22px;
  min-height:132px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px 28px;
  box-shadow:0 18px 45px rgba(16,26,69,.07);
}
.client-logo-card img{
  display:block;
  width:100%;
  max-width:190px;
  height:72px;
  object-fit:contain;
}
@media (max-width: 980px){.client-logo-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width: 640px){.client-logo-grid{grid-template-columns:repeat(2,1fr);gap:14px}.client-logo-card{min-height:105px;padding:18px}.client-logo-card img{height:58px}}


/* v11 client logo grid fix */
.clients-section{padding:90px 0;background:#f7f8fb;}
.clients-section .section-heading{text-align:center;margin-bottom:42px;}
.client-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;align-items:center;}
.client-logo-card{height:132px;background:#fff;border:1px solid rgba(16,26,69,.08);border-radius:24px;display:flex;align-items:center;justify-content:center;padding:28px;box-shadow:0 16px 40px rgba(16,26,69,.06);overflow:hidden;}
.client-logo-card img{display:block;max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain;}
@media (max-width: 1100px){.client-logo-grid{grid-template-columns:repeat(4,1fr);}}
@media (max-width: 800px){.client-logo-grid{grid-template-columns:repeat(3,1fr);gap:16px}.client-logo-card{height:110px;padding:20px;border-radius:18px}.client-logo-card img{max-height:62px;}}
@media (max-width: 520px){.client-logo-grid{grid-template-columns:repeat(2,1fr)}.clients-section{padding:64px 0}.client-logo-card{height:96px;padding:16px}.client-logo-card img{max-height:52px;}}


/* v12 client logo grid fix */
.clients-section{padding:72px 0;background:#f5f6f8;}
.section-heading.centered{text-align:center;margin-bottom:34px;}
.clients-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;}
.client-logo{height:112px;background:#fff;border:1px solid rgba(16,26,69,.08);border-radius:18px;display:flex;align-items:center;justify-content:center;padding:22px;box-shadow:0 10px 26px rgba(16,26,69,.06);overflow:hidden;}
.client-logo img{display:block;max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain;}
@media(max-width:980px){.clients-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.clients-grid{grid-template-columns:repeat(2,1fr);gap:14px}.client-logo{height:96px;padding:18px}}


/* v14 refinements: 4x5 client logo grid and smaller CTA */
.clients-grid,
.client-grid,
.logo-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 26px !important;
}
.client-logo-card,
.client-card,
.logo-card {
  min-height: 145px !important;
  padding: 22px 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.client-logo-card img,
.client-card img,
.logo-card img,
.clients-grid img,
.client-grid img,
.logo-grid img {
  max-width: 88% !important;
  max-height: 92px !important;
  object-fit: contain !important;
}
.cta-section,
.contact-cta,
.final-cta,
section[class*="cta"] {
  max-width: 1180px !important;
  margin: 72px auto 72px !important;
  padding: 56px 32px !important;
  min-height: auto !important;
  border-radius: 28px !important;
}
.cta-section p,
.contact-cta p,
.final-cta p,
section[class*="cta"] p {
  margin-bottom: 22px !important;
}
@media (max-width: 1024px) {
  .clients-grid,
  .client-grid,
  .logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .clients-grid,
  .client-grid,
  .logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; }
  .client-logo-card,
  .client-card,
  .logo-card { min-height: 110px !important; padding: 18px !important; }
  .client-logo-card img,
  .client-card img,
  .logo-card img,
  .clients-grid img,
  .client-grid img,
  .logo-grid img { max-height: 68px !important; }
  .cta-section,
  .contact-cta,
  .final-cta,
  section[class*="cta"] { margin: 48px 18px !important; padding: 38px 22px !important; border-radius: 22px !important; }
}

/* v15 refinements */
.clients-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
}
.client-logo-card{
  min-height: 190px !important;
  height: auto !important;
  padding: 30px 40px !important;
}
.client-logo-card img,
.clients-grid img{
  max-width: 92% !important;
  max-height: 120px !important;
  height: auto !important;
  width: auto !important;
  object-fit: contain !important;
}
.cta-section{
  padding: 56px 0 !important;
}
.cta-box{
  max-width: 820px !important;
  padding: 42px 36px !important;
  border-radius: 26px !important;
}
.cta-box p{
  margin: 0 0 22px !important;
}
@media(max-width:980px){
  .clients-grid{grid-template-columns:repeat(3,1fr) !important;}
  .client-logo-card{min-height:155px !important;padding:24px 30px !important;}
  .client-logo-card img,.clients-grid img{max-height:92px !important;}
}
@media(max-width:640px){
  .clients-grid{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;}
  .client-logo-card{min-height:120px !important;padding:18px !important;}
  .client-logo-card img,.clients-grid img{max-height:72px !important;}
  .cta-section{padding:40px 18px !important;}
  .cta-box{padding:32px 22px !important;border-radius:22px !important;}
}

/* v16 portfolio additions */
.portfolio-grid{align-items:start;}
.portfolio-card img{width:100%;height:100%;object-fit:cover;display:block;}
@media (min-width: 900px){
  .portfolio-card:nth-child(7){grid-column: span 2;}
  .portfolio-card:nth-child(8){grid-column: span 2;}
  .portfolio-card:nth-child(9){grid-column: span 2;}
  .portfolio-card:nth-child(10){grid-column: span 2;}
}

/* v17 portfolio gallery fix */
.portfolio-page-grid{
  grid-auto-flow: dense;
}
.portfolio-page-item{
  min-height: 290px;
}
.portfolio-page-item.portfolio-wide{
  min-height: 300px;
}
.portfolio-page-item:nth-child(7){grid-column:span 2; min-height:330px;}
.portfolio-page-item:nth-child(10){grid-column:span 2; min-height:330px;}
.portfolio-page-item:nth-child(13){grid-column:span 2; min-height:330px;}
@media(max-width:860px){
  .portfolio-page-item:nth-child(7),
  .portfolio-page-item:nth-child(10),
  .portfolio-page-item:nth-child(13){grid-column:auto; min-height:300px;}
}

/* v18 Services: 5 categories x 3 image placeholders */
.service-mockup-showcase .section-heading{margin-bottom:48px;}
.service-category{margin-top:56px;}
.service-category h3{font-size:30px;margin:0 0 22px;color:#101A45;}
.service-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.service-image-placeholder{height:240px;border-radius:24px;overflow:hidden;margin:0;background:linear-gradient(135deg,#07112f,#101A45 58%,#f04a2a);box-shadow:0 18px 50px rgba(16,26,69,.14);display:flex;align-items:center;justify-content:center;position:relative;}
.service-image-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.22),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,0));}
.service-image-placeholder span{position:relative;color:#fff;font-weight:800;letter-spacing:.02em;background:rgba(5,8,20,.38);padding:10px 14px;border-radius:999px;font-size:14px;}
@media(max-width:900px){.service-gallery-grid{grid-template-columns:repeat(2,1fr)}.service-image-placeholder{height:220px}}
@media(max-width:640px){.service-gallery-grid{grid-template-columns:1fr}.service-image-placeholder{height:220px}.service-category h3{font-size:25px}}

/* Services v19 image-only gallery */
.services-image-grid.two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 42px;
}
.service-photo-card {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 50px rgba(10, 18, 54, 0.12);
}
.service-photo-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
@media (max-width: 768px) {
  .services-image-grid.two-columns {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* v20 services refinements */
.service-photo-card {
  aspect-ratio: 16 / 9 !important;
  padding: 0 !important;
}
.service-photo-card img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  display: block !important;
}
.services-image-grid.two-columns {
  align-items: start !important;
}
.service-tags-section {
  background: #fff !important;
  padding-top: 34px !important;
  padding-bottom: 24px !important;
}
.service-tags {
  gap: 16px !important;
}
.service-tags span {
  padding: 16px 28px !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  background: #f7f8fb !important;
  border: 1px solid rgba(16, 26, 69, 0.12) !important;
  box-shadow: 0 10px 28px rgba(16, 26, 69, 0.04) !important;
}
.cta-section.plain-cta {
  background: transparent !important;
  max-width: none !important;
  margin: 32px auto 78px !important;
  padding: 18px 7% !important;
}
.plain-cta .cta-box {
  background: transparent !important;
  color: #101A45 !important;
  box-shadow: none !important;
  max-width: 900px !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.plain-cta .cta-box h2 {
  display: none !important;
}
.plain-cta .cta-box p {
  color: #101A45 !important;
  font-size: 20px !important;
  margin: 0 0 22px !important;
}
@media (max-width: 768px) {
  .service-tags span {
    font-size: 14px !important;
    padding: 12px 18px !important;
  }
  .plain-cta .cta-box p {
    font-size: 17px !important;
  }
}

.page-hero{text-align:center;background:#101a45;color:#fff;padding:96px 7%}.page-hero h1{font-size:clamp(42px,6vw,78px);margin:0 0 18px}.page-hero p{max-width:780px;margin:0 auto;line-height:1.8;font-size:18px}.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.about-wrap img{width:100%;border-radius:28px;box-shadow:0 24px 60px #0b174022}.about-copy p{font-size:18px;line-height:1.9}.center{text-align:center}.center-title{text-align:center}.about-cards{grid-template-columns:repeat(3,1fr)}.process-section{border-radius:0}.process{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}.process span{background:#fff;color:#101a45;border-radius:999px;padding:14px 24px;font-weight:800}.reverse{grid-template-columns:1fr 1fr}.simple-cta{text-align:center}.simple-cta p{font-size:18px;line-height:1.8;max-width:760px;margin:0 auto 26px}@media(max-width:900px){.about-wrap,.reverse{grid-template-columns:1fr}.about-cards{grid-template-columns:1fr}.page-hero{padding:70px 6%}}


/* Contact Page v22 */
.contact-hero { background: linear-gradient(135deg, #07102f 0%, #101a45 58%, #f04a2a 160%); color: #fff; }
.contact-page-section { padding: 88px 0; background: #f5f7fb; }
.contact-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: stretch; }
.contact-info-panel, .contact-form-card { background: #fff; border-radius: 28px; padding: 42px; box-shadow: 0 18px 50px rgba(16,26,69,.10); }
.contact-info-panel h2 { margin: 8px 0 16px; color: #101a45; font-size: clamp(30px,4vw,46px); line-height: 1.1; }
.contact-info-panel p { color: #5f6675; line-height: 1.8; }
.contact-methods { margin-top: 30px; display: grid; gap: 16px; }
.contact-method { display: flex; align-items: center; gap: 14px; color: #101a45; text-decoration: none; font-weight: 700; background: #f4f6fb; border-radius: 18px; padding: 15px 18px; }
.contact-method-icon { width: 38px; height: 38px; border-radius: 50%; background: #101a45; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 16px; flex: 0 0 38px; }
.line-icon { font-size: 10px; background: #06c755; }
.contact-form-card h3 { margin-top: 0; color: #101a45; font-size: 28px; }
.contact-form-card label { display: grid; gap: 8px; font-weight: 700; color: #101a45; margin-bottom: 16px; }
.contact-form-card input, .contact-form-card textarea { width: 100%; border: 1px solid #dce1ec; border-radius: 14px; padding: 14px 16px; font: inherit; background: #fbfcff; box-sizing: border-box; }
.map-section { padding: 88px 0; background: #fff; }
.map-card { overflow: hidden; border-radius: 28px; box-shadow: 0 18px 50px rgba(16,26,69,.12); border: 1px solid #e8ecf5; }
.centered { text-align: center; margin-bottom: 32px; }
@media (max-width: 900px){ .contact-page-grid{grid-template-columns:1fr;} .contact-info-panel,.contact-form-card{padding:28px;} }


/* v23 contact address map link */
.map-section { padding: 70px 24px; }
.address-card { max-width: 880px; margin: 0 auto; padding: 42px; background: #fff; border: 1px solid rgba(10,16,45,.08); border-radius: 28px; box-shadow: 0 24px 70px rgba(10,16,45,.08); text-align: center; }
.address-card h3 { margin: 0 0 16px; color: #101A45; font-size: 28px; }
.address-card p { margin: 8px auto; color: #26304a; font-size: 18px; line-height: 1.8; max-width: 760px; }
.address-card .btn { margin-top: 24px; display: inline-flex; }


/* v24 refinements */
.service-tags, .portfolio-tags { gap: 10px !important; }
.service-tags span, .portfolio-tags span, .tag, .service-tag {
  font-size: 0.7em !important;
  padding: 0.55em 1.35em !important;
  min-height: auto !important;
  line-height: 1.2 !important;
}
.cta-section, .portfolio-cta, .contact-cta, .page-cta {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 56px 24px !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--navy, #101A45) !important;
}
.cta-section p, .portfolio-cta p, .contact-cta p, .page-cta p { color: var(--navy, #101A45) !important; }
.cta-section .btn, .portfolio-cta .btn, .contact-cta .btn, .page-cta .btn {
  background: #f04a2a !important;
  color: #fff !important;
  text-decoration: none !important;
}


.video-cta {
  padding-top: 40px;
  padding-bottom: 40px;
}
.video-cta-inner {
  text-align: center;
  max-width: 780px;
}
.video-cta h2 {
  margin: 10px 0 24px;
}


/* v26 updates */
.cta-simple{max-width:820px;margin:64px auto;text-align:center;padding:0 24px;background:transparent!important;box-shadow:none!important;border:none!important;color:inherit;}
.cta-simple h2{color:#101A45;margin-bottom:14px;}
.cta-simple p{color:#5b6170;margin-bottom:24px;}
.service-tags .tag,.project-tags .tag{padding:8px 14px;font-size:0.85rem;}


/* v28: consistent header/navigation across pages */
.site-header {
  width: 100%;
}
.navbar, .site-nav, .header-inner {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
}
.nav-links a {
  white-space: nowrap;
}
.hero-actions:empty { display: none; }


/* v31 clean navigation consistency */
.nav-links a, .nav-links a:hover, .nav-links a:focus, .nav-links a:visited { text-decoration: none !important; border-bottom: 0 !important; }
.nav-links { display: flex; align-items: center; gap: 34px; }
.site-header .container, header .container, .navbar { max-width: 1180px; margin-left: auto; margin-right: auto; }
.service-tags .tag, .service-tag, .project-tag { transform: scale(.7); transform-origin: center; }

/* clean fix */
.nav a, .nav-links a, header a, .navbar a { text-decoration: none !important; }
.nav a:hover, .nav-links a:hover, header a:hover, .navbar a:hover { text-decoration: none !important; }
.contact-hero, .contact-map, .find-us, section:has(.section-label) { text-align: center; }
.contact-hero .section-label, .contact-hero h1, .contact-map .section-label, .contact-map h2 { text-align: center; }


/* v33 clean navigation */
.main-nav a, header nav a, nav a { text-decoration: none !important; }
.main-nav a:hover, header nav a:hover, nav a:hover { text-decoration: none !important; }

.youtube-cta { text-align:center; padding:64px 24px; }
.youtube-cta h2 { margin: 8px 0 24px; }
.dark-process { background:#101947; color:#fff; text-align:center; padding:80px 24px; }
.dark-process .eyebrow { color:#f26a3d; letter-spacing:.22em; font-weight:700; text-transform:uppercase; }
.dark-process h2 { font-size: clamp(36px,5vw,64px); margin: 16px 0 40px; }
.process-tags { display:flex; flex-wrap:wrap; gap:24px; justify-content:center; }
.process-tags span { background:#fff; color:#101947; border-radius:999px; padding:18px 42px; font-weight:700; font-size:20px; }


/* v34 header margin consistency fix - header only */
.site-header,
body > header {
  height: 86px !important;
  display: flex !important;
  align-items: center !important;
  background: #fff !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.06) !important;
  padding: 0 !important;
}
.site-header .container.nav-wrap,
.site-header .nav-wrap,
body > header {
  width: min(1180px, 86%) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.site-header .container.nav-wrap,
.site-header .nav-wrap {
  height: 86px !important;
  display: flex !important;
  align-items: center !important;
  gap: 36px !important;
}
body > header {
  gap: 36px !important;
}
.logo,
.site-header .brand img {
  height: 46px !important;
  width: auto !important;
  display: block !important;
  flex: 0 0 auto !important;
}
.main-nav,
body > header nav {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex: 1 1 auto !important;
}
.main-nav a,
body > header nav a {
  color: #101522 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.nav-cta,
body > header .btn {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f04a2a !important;
  color: #fff !important;
  padding: 13px 22px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
@media (max-width: 860px) {
  .site-header,
  body > header {
    height: auto !important;
  }
  .site-header .container.nav-wrap,
  .site-header .nav-wrap,
  body > header {
    width: 90% !important;
    padding: 18px 0 !important;
    flex-wrap: wrap !important;
  }
}


/* v35 clean header/nav fixes */
header{box-sizing:border-box;width:100%;display:flex;align-items:center;gap:42px;padding:24px 56px;margin:0 auto;}
header .logo,.logo{display:block;height:56px;width:auto;flex:0 0 auto;}
.main-nav{display:flex;align-items:center;gap:36px;margin:0;padding:0;}
.main-nav a,.main-nav a:link,.main-nav a:visited,.main-nav a:hover,.main-nav a:active{color:#11162b;text-decoration:none!important;border-bottom:0!important;box-shadow:none!important;}
header .btn{margin-left:auto;text-decoration:none!important;}


/* v36 header consistency override */
.site-header, header.site-header {
  width: 100%;
  background: #fff;
}
.site-header .container, .nav-container, .navbar, .header-inner {
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 24px 48px !important;
  display: flex !important;
  align-items: center !important;
  gap: 56px !important;
}
.logo, .brand, .site-logo {
  flex: 0 0 auto !important;
}
.logo img, .brand img, .site-logo img {
  height: 58px !important;
  width: auto !important;
  display: block !important;
}
.nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.nav-links a {
  text-decoration: none !important;
  border-bottom: 0 !important;
  color: #171b2a !important;
  font-weight: 700 !important;
}
.nav-links a:hover, .nav-links a:focus, .nav-links a:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
}
.site-header .btn, .header-cta, .nav-cta {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}
.contact-location, .map-section, .find-us-section, .contact-map { text-align:center !important; }
.contact-location .section-label, .map-section .section-label, .find-us-section .section-label, .contact-map .section-label,
.contact-location h1, .contact-location h2, .map-section h1, .map-section h2, .find-us-section h1, .find-us-section h2, .contact-map h1, .contact-map h2 {
  text-align:center !important; margin-left:auto !important; margin-right:auto !important;
}
@media (max-width: 768px) {
  .site-header .container, .nav-container, .navbar, .header-inner { padding: 18px 24px !important; gap: 24px !important; flex-wrap: wrap !important; }
  .nav-links { gap: 22px !important; }
}


/* v37 header alignment: logo left on content grid, nav centered, CTA right */
:root { --site-max-width: 1720px; --site-gutter: clamp(24px, 4vw, 72px); }
.site-header, header, .header, .navbar {
  width: 100%;
  box-sizing: border-box;
}
.site-header .container, header .container, .navbar .container, .nav-container, .header-container {
  max-width: var(--site-max-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--site-gutter) !important;
  padding-right: var(--site-gutter) !important;
  box-sizing: border-box !important;
}
.site-header .container, header .container, .navbar .container, .nav-container, .header-container {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  min-height: 92px !important;
  column-gap: 32px !important;
  position: relative !important;
}
.logo, .brand, .site-logo, .navbar-brand {
  justify-self: start !important;
  margin: 0 !important;
}
.nav-links, nav ul, .menu, .navbar-nav {
  justify-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: center !important;
}
.nav-links a, nav a, .menu a, .navbar-nav a {
  text-decoration: none !important;
}
.header-cta, .nav-cta, .cta-button, .btn-header {
  justify-self: end !important;
}
@media (max-width: 900px) {
  .site-header .container, header .container, .navbar .container, .nav-container, .header-container {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    row-gap: 16px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  .logo, .brand, .site-logo, .navbar-brand, .header-cta, .nav-cta, .cta-button, .btn-header { justify-self: center !important; }
  .nav-links, nav ul, .menu, .navbar-nav { flex-wrap: wrap !important; gap: 20px !important; }
}


/* v38: definitive unified header alignment */
:root{--content-max:1720px;--content-gutter:clamp(24px,4vw,72px);}
body > header.site-header,
body > header{
  width:100% !important;
  height:92px !important;
  min-height:92px !important;
  padding:0 !important;
  margin:0 !important;
  background:#fff !important;
  box-shadow:0 8px 30px #0001 !important;
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  display:block !important;
}
.header-shell{
  width:min(calc(100% - (var(--content-gutter) * 2)), var(--content-max)) !important;
  height:92px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:260px 1fr 260px !important;
  align-items:center !important;
  column-gap:24px !important;
  box-sizing:border-box !important;
}
.header-shell .brand{justify-self:start !important;display:flex !important;align-items:center !important;text-decoration:none !important;margin:0 !important;padding:0 !important;}
.header-shell .brand img,
.header-shell .logo{
  height:56px !important;
  width:auto !important;
  display:block !important;
  margin:0 !important;
}
.header-shell .main-nav{
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:40px !important;
  margin:0 !important;
  padding:0 !important;
  flex:unset !important;
}
.header-shell .main-nav a,
.header-shell .main-nav a:link,
.header-shell .main-nav a:visited,
.header-shell .main-nav a:hover,
.header-shell .main-nav a:focus,
.header-shell .main-nav a:active{
  color:#11162b !important;
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  font-weight:800 !important;
  font-size:20px !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
}
.header-shell .header-btn{
  justify-self:end !important;
  margin:0 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
@media(max-width:900px){
  body > header.site-header, body > header{height:auto !important;min-height:92px !important;position:sticky !important;}
  .header-shell{width:calc(100% - 36px) !important;height:auto !important;min-height:92px !important;grid-template-columns:1fr !important;row-gap:16px !important;padding:18px 0 !important;justify-items:center !important;}
  .header-shell .brand,.header-shell .main-nav,.header-shell .header-btn{justify-self:center !important;}
  .header-shell .main-nav{flex-wrap:wrap !important;gap:22px !important;}
}


/* v39 targeted fixes */
.site-header{position:relative;}
.site-header .nav-links, header .nav-links, .navbar .nav-links{
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:42px !important;
}
.site-header .brand, .site-header .logo, header .brand, header .logo{margin-right:0 !important;}
.site-header .header-cta, header .header-cta{margin-left:auto !important;}

.process-section .section-title-th,
.process .section-title-th,
.our-process .section-title-th{
  color:#fff; text-align:center; font-size:48px; font-weight:800; margin:26px 0 54px;
}
.process-steps, .process-grid, .workflow-steps{
  display:flex; justify-content:center; align-items:center; gap:28px; flex-wrap:wrap;
}
.process-steps > *, .process-grid > *, .workflow-steps > *{
  width:220px !important; min-width:220px !important; height:82px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  box-sizing:border-box !important;
}
.service-tags, .tags, .service-tag-list{
  display:flex !important; justify-content:center !important; align-items:center !important; gap:18px !important; flex-wrap:wrap !important;
}
.service-tags span, .service-tags a, .tags span, .tags a, .service-tag-list span, .service-tag-list a{
  font-size:135% !important; padding:17px 30px !important; min-width:210px !important; text-align:center !important; box-sizing:border-box !important;
}
.youtube-icon-link{
  width:78px; height:54px; border-radius:16px; background:#ff3b22; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 14px 30px rgba(244,59,34,.25); transition:.2s ease;
}
.youtube-icon-link:hover{transform:translateY(-2px)}
.youtube-icon-link svg{width:34px;height:34px;fill:#fff;}


/* v39 targeted fixes */
.site-header{position:relative;}
.site-header .nav-links, header .nav-links, .navbar .nav-links{
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:42px !important;
}
.site-header .brand, .site-header .logo, header .brand, header .logo{margin-right:0 !important;}
.site-header .header-cta, header .header-cta{margin-left:auto !important;}
.process-section .section-title-th,.process .section-title-th,.our-process .section-title-th{color:#fff;text-align:center;font-size:48px;font-weight:800;margin:26px 0 54px;}
.process-steps,.process-grid,.workflow-steps{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;}
.process-steps > *,.process-grid > *,.workflow-steps > *{width:220px!important;min-width:220px!important;height:82px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;}
.service-tags,.tags,.service-tag-list{display:flex!important;justify-content:center!important;align-items:center!important;gap:18px!important;flex-wrap:wrap!important;}
.service-tags span,.service-tags a,.tags span,.tags a,.service-tag-list span,.service-tag-list a{font-size:135%!important;padding:17px 30px!important;min-width:210px!important;text-align:center!important;box-sizing:border-box!important;}
.youtube-icon-link{width:78px;height:54px;border-radius:16px;background:#ff3b22;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(244,59,34,.25);transition:.2s ease;}
.youtube-icon-link:hover{transform:translateY(-2px)}.youtube-icon-link svg{width:34px;height:34px;fill:#fff;}

/* v40 precise requested refinements */
body > header.site-header { position: sticky !important; top: 0 !important; z-index: 1000 !important; }
.header-shell { position: relative !important; }
.header-shell .main-nav {
  position: absolute !important;
  left: 50vw !important;
  transform: translateX(-50%) !important;
  justify-self: unset !important;
  width: max-content !important;
}
.service-tags {
  row-gap: 18px !important;
  column-gap: 18px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.service-tags span,
.service-tags a,
.tags span,
.tags a,
.service-tag-list span,
.service-tag-list a {
  font-size: 108% !important;
  padding: 14px 24px !important;
  min-width: 168px !important;
  line-height: 1.15 !important;
}
.service-tags-section { padding-top: 48px !important; padding-bottom: 48px !important; }
@media(max-width:900px){
  .header-shell .main-nav{position:static !important;left:auto !important;transform:none !important;width:auto !important;}
  .service-tags span,.service-tags a,.tags span,.tags a,.service-tag-list span,.service-tag-list a{font-size:100% !important;min-width:auto !important;padding:12px 18px !important;}
}


/* v41 targeted fixes */
.site-header, .header, header {
  width: 100%;
}
.header-inner, .nav-container, .navbar, .site-nav {
  max-width: 1440px;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* center the whole header group (logo + menu + CTA) as one unit */
.header-inner {
  justify-content: center !important;
  gap: 56px !important;
}
.nav-links, .menu, nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.process-section .section-title::after,
.process .section-title::after,
.our-process .section-title::after,
#process .section-title::after,
.process-section h2::after,
.our-process h2::after,
#process h2::after {
  content: "แนวทางการทำงาน";
  display: block;
  margin-top: 12px;
  font-size: clamp(28px, 3vw, 54px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: normal;
  color: #ffffff;
}
.contact-icon,
.social-icon,
.contact-card .icon,
.contact-item .icon,
.contact-list .icon {
  background: #101A45 !important;
  color: #ffffff !important;
}
.contact-icon svg,
.social-icon svg,
.contact-card .icon svg,
.contact-item .icon svg,
.contact-list .icon svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}


/* v41 targeted fixes */
.site-header, .header, header { width: 100%; }
.header-inner, .nav-container, .navbar, .site-nav {
  max-width: 1440px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.header-inner { justify-content: center !important; gap: 56px !important; }
.nav-links, .menu, nav ul { display: flex; justify-content: center; align-items: center; }
.process-section .section-title::after,
.process .section-title::after,
.our-process .section-title::after,
#process .section-title::after,
.process-section h2::after,
.our-process h2::after,
#process h2::after {
  content: "แนวทางการทำงาน";
  display: block;
  margin-top: 12px;
  font-size: clamp(28px, 3vw, 54px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: normal;
  color: #ffffff;
}
.contact-icon,
.social-icon,
.contact-card .icon,
.contact-item .icon,
.contact-list .icon {
  background: #101A45 !important;
  color: #ffffff !important;
}
.contact-icon svg,
.social-icon svg,
.contact-card .icon svg,
.contact-item .icon svg,
.contact-list .icon svg { fill: #ffffff !important; color: #ffffff !important; }

/* v42 final targeted fixes */
/* Header group: logo + menu + orange CTA moves together and stays centered */
body > header.site-header,
body > header{
  height:92px !important;
  min-height:92px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
}
.header-shell{
  width:max-content !important;
  max-width:calc(100vw - 48px) !important;
  height:92px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:42px !important;
  position:relative !important;
  box-sizing:border-box !important;
}
.header-shell .brand{flex:0 0 auto !important; margin:0 !important; padding:0 !important; display:flex !important; align-items:center !important;}
.header-shell .brand img{height:56px !important; width:auto !important; display:block !important;}
.header-shell .main-nav{
  position:static !important;
  left:auto !important;
  transform:none !important;
  width:auto !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:36px !important;
  margin:0 !important;
  padding:0 !important;
}
.header-shell .main-nav a{font-size:20px !important; line-height:1 !important; text-decoration:none !important; border:0 !important; box-shadow:none !important; white-space:nowrap !important;}
.header-shell .header-btn{flex:0 0 auto !important; margin:0 !important; white-space:nowrap !important;}

/* Our Process spacing */
.process-section,
.dark-process{text-align:center !important;}
.process-section .eyebrow{margin:0 0 14px !important; text-align:center !important;}
.process-section h2{margin:0 0 48px !important; text-align:center !important; color:#fff !important;}
.process-tags{display:flex !important; justify-content:center !important; align-items:center !important; gap:24px !important; flex-wrap:wrap !important;}
.process-tags span{width:210px !important; min-width:210px !important; height:74px !important; display:flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important;}
.process-section h2::after,.dark-process h2::after{content:none !important; display:none !important;}

/* Contact page icon set: use the latest dark navy icon design */
.contact-methods{display:grid !important; gap:18px !important; justify-content:start !important;}
.contact-method{display:flex !important; align-items:center !important; gap:22px !important; color:#050814 !important; text-decoration:none !important; font-size:28px !important; line-height:1.2 !important;}
.contact-method-icon{width:58px !important; height:58px !important; border-radius:50% !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; flex:0 0 58px !important; background:#101A45 !important; color:#fff !important; font-size:22px !important; font-weight:800 !important;}
.contact-method-icon.line-icon{font-size:11px !important; letter-spacing:-.03em !important;}

@media(max-width:900px){
  body > header.site-header,body > header{height:auto !important; min-height:92px !important;}
  .header-shell{width:calc(100% - 36px) !important; max-width:none !important; min-height:92px !important; height:auto !important; flex-wrap:wrap !important; gap:18px 24px !important; padding:18px 0 !important;}
  .header-shell .main-nav{gap:20px !important; flex-wrap:wrap !important;}
  .contact-method{font-size:20px !important; gap:16px !important;}
  .contact-method-icon{width:48px !important; height:48px !important; flex-basis:48px !important;}
}


/* v43 precise fixes */
.site-header .header-inner, .navbar, .nav-inner, header .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 36px !important;
  width: max-content !important;
  max-width: calc(100% - 48px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative !important;
}
.site-header .brand, .site-header .logo, header .brand, header .logo {
  flex: 0 0 auto !important;
}
.site-header nav, .site-header .nav-links, header nav, header .nav-links {
  position: static !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
  flex: 0 0 auto !important;
}
.site-header .header-cta, .site-header .cta-button, header .header-cta, header .cta-button {
  flex: 0 0 auto !important;
  margin-left: 12px !important;
}
.process-section .section-label + h2::after,
.process .section-label + h2::after,
.our-process .section-label + h2::after {
  content: "แนวทางการทำงาน";
  display: block;
  margin-top: 18px;
  margin-bottom: 42px;
  font-size: clamp(28px, 3vw, 48px);
  line-height: 1.2;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0;
}
.process-card, .process-step, .process-pill {
  min-width: 190px !important;
  width: 190px !important;
  min-height: 76px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.contact-list .contact-icon, .contact-card .contact-icon, .contact-item .contact-icon {
  background: #0b143c !important;
  color: #ffffff !important;
}

/* v44 header-only clean fix: center the whole header group on every page */
body > header.site-header,
body > header {
  width: 100% !important;
  height: 92px !important;
  min-height: 92px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  box-shadow: 0 8px 30px #0001 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
body > header.site-header > .header-shell,
body > header > .header-shell {
  width: max-content !important;
  max-width: calc(100vw - 48px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  height: 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 42px !important;
  flex-wrap: nowrap !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}
body > header .header-shell .brand,
body > header .header-shell .header-btn,
body > header .header-shell .main-nav {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
body > header .header-shell .brand {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
}
body > header .header-shell .brand img {
  height: 56px !important;
  width: auto !important;
  display: block !important;
}
body > header .header-shell .main-nav {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 36px !important;
  padding: 0 !important;
  width: auto !important;
}
body > header .header-shell .main-nav a {
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  color: #101522 !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  line-height: 1 !important;
}
body > header .header-shell .header-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  body > header.site-header,
  body > header {
    height: auto !important;
    min-height: 92px !important;
  }
  body > header.site-header > .header-shell,
  body > header > .header-shell {
    width: calc(100% - 36px) !important;
    max-width: none !important;
    height: auto !important;
    min-height: 92px !important;
    padding: 18px 0 !important;
    flex-wrap: wrap !important;
    gap: 18px 24px !important;
  }
}

/* v45: hard reset header as one centered group */
body > header.site-header,
body > header {
  width: 100% !important;
  height: 92px !important;
  min-height: 92px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  box-shadow: 0 8px 30px #0001 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}
body > header.site-header > .header-shell,
body > header > .header-shell {
  width: fit-content !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  height: 92px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 38px !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  position: static !important;
  transform: none !important;
}
body > header .brand,
body > header .main-nav,
body > header .header-btn {
  flex: 0 0 auto !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
}
body > header .brand { display: inline-flex !important; align-items: center !important; }
body > header .brand img,
body > header img.logo { height: 54px !important; width: auto !important; display: block !important; }
body > header .main-nav,
body > header nav.main-nav {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
  width: auto !important;
  padding: 0 !important;
}
body > header .main-nav a,
body > header nav a {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  body > header.site-header > .header-shell,
  body > header > .header-shell {
    max-width: calc(100vw - 28px) !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
  }
}


/* v46 header center-group fix */
.site-header,
.header,
.navbar {
  width: 100% !important;
}
.site-header .container,
.site-header .header-inner,
.header .container,
.header-inner,
.navbar .container,
.navbar-inner,
.nav-container {
  max-width: none !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.site-header .header-group,
.header-group,
.navbar-group {
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 48px !important;
}
.logo,
.brand,
.site-logo {
  flex: 0 0 auto !important;
}
.nav-links,
.main-nav,
nav ul {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 36px !important;
  flex: 0 0 auto !important;
}
.header-cta,
.nav-cta,
.cta-button,
.header-button {
  margin-left: 0 !important;
  flex: 0 0 auto !important;
}
@media (max-width: 900px) {
  .site-header .header-group,
  .header-group,
  .navbar-group { gap: 20px !important; }
  .nav-links,
  .main-nav,
  nav ul { gap: 18px !important; }
}

/* v47 STRICT HEADER CENTER GROUP ONLY */
body > header.site-header {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
body > header.site-header > .header-shell {
  width: fit-content !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 44px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body > header.site-header > .header-shell > .brand,
body > header.site-header > .header-shell > .main-nav,
body > header.site-header > .header-shell > .header-btn {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 0 0 auto !important;
}
body > header.site-header > .header-shell > .main-nav {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
}
body > header.site-header > .header-shell > .main-nav a {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 900px) {
  body > header.site-header > .header-shell {
    width: min-content !important;
    max-width: calc(100vw - 28px) !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
  }
}


/* v48 header center group override */
.site-header, header.site-header, .header, header {
  width: 100% !important;
}
.site-header .header-inner, header.site-header .header-inner, .header-inner, .navbar, .nav-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
}
.header-group, .header-content, .nav-wrapper, .nav-bar {
  width: fit-content !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 42px !important;
}
.nav-links, .menu, .navigation {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
}
.logo, .brand, .site-logo, .header-cta, .cta-button, .nav-cta {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}
.header-cta, .nav-cta { margin-left: 0 !important; }
.site-header a, header a { text-decoration: none !important; }


/* v49 header hard-center fix: keep logo + nav + CTA as one centered group */
.site-header, header.site-header, .header, header {
  width: 100% !important;
}
.site-header .header-inner, .header-inner, .navbar, .nav-bar, .nav-container, header .container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
}
.header-group, .nav-wrapper {
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 42px !important;
  position: static !important;
  transform: none !important;
}
.logo, .brand, .site-logo {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.nav-links, .menu, nav ul {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 36px !important;
}
.header-cta, .nav-cta, .cta-button, .btn-quote {
  margin: 0 !important;
  flex: 0 0 auto !important;
}


/* v51: Force header as one centered group on every page */
.site-header.unified-header, header.site-header.unified-header{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
.header-center-group{
  width:fit-content !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:42px !important;
  position:static !important;
  left:auto !important; right:auto !important;
  transform:none !important;
}
.header-center-group .nav-links,
.header-center-group nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:36px !important;
  position:static !important;
  left:auto !important; right:auto !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
}
.header-center-group .header-cta,
.header-center-group .nav-cta,
.header-center-group .cta-button{
  margin:0 !important;
  flex:0 0 auto !important;
}
.header-center-group .brand,
.header-center-group .logo,
.header-center-group .brand-logo{
  margin:0 !important;
  flex:0 0 auto !important;
}
@media (max-width: 900px){
  .header-center-group{gap:18px !important; transform:scale(.86) !important; transform-origin:center center !important;}
  .header-center-group .nav-links, .header-center-group nav{gap:18px !important;}
}


/* v52 FINAL HEADER CENTER RESET - header only */
html, body { overflow-x: hidden; }
body > header.site-header.unified-header,
body > header.unified-header {
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 96px !important;
  height: 96px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.06) !important;
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 99999 !important;
}
body > header.unified-header .header-center-group {
  width: max-content !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 42px !important;
  flex-wrap: nowrap !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}
body > header.unified-header .brand,
body > header.unified-header .main-nav,
body > header.unified-header .header-btn {
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
body > header.unified-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-decoration: none !important;
}
body > header.unified-header .brand img {
  height: 54px !important;
  width: auto !important;
  display: block !important;
  margin: 0 !important;
}
body > header.unified-header .main-nav {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
  padding: 0 !important;
  width: auto !important;
}
body > header.unified-header .main-nav a {
  color: #101522 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body > header.unified-header .header-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
@media (max-width: 900px) {
  body > header.site-header.unified-header,
  body > header.unified-header {
    height: auto !important;
    min-height: 96px !important;
    padding: 14px 0 !important;
  }
  body > header.unified-header .header-center-group {
    flex-wrap: wrap !important;
    gap: 16px 22px !important;
    max-width: calc(100vw - 28px) !important;
  }
  body > header.unified-header .main-nav { gap: 18px !important; flex-wrap: wrap !important; }
  body > header.unified-header .brand img { height: 48px !important; }
  body > header.unified-header .main-nav a { font-size: 16px !important; }
}

/* v53 contact icons: match About page icon design exactly */
.contact-method .contact-method-icon{display:none!important;}
.contact-method .contact-icon{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#101A45!important;color:#fff!important;}
.contact-method .contact-icon svg{width:22px!important;height:22px!important;display:block!important;fill:currentColor!important;color:currentColor!important;}
.contact-method{gap:14px!important;font-size:20px!important;line-height:1.4!important;}

/* v54 line qr modal */
.line-qr-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:9999}.line-qr-modal.show{display:flex}.line-qr-box{background:#fff;border-radius:24px;padding:28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25);position:relative}.line-qr-box img{width:280px;max-width:70vw;height:auto;display:block}.line-qr-box p{margin:14px 0 0;font-weight:700;color:#111a3f}.line-qr-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:#111a3f}

/* v55 contact form updates */
.required{color:#f04a2f;}
.contact-phone, .phone-text{cursor:default;}


/* v56 contact form repair */
.contact-page-section form.contact-form,
.contact-form{
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.contact-form h3{margin:0 0 8px !important;}
.contact-form .form-group{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  width:100% !important;
}
.contact-form label{
  display:block !important;
  font-weight:700 !important;
  color:#081540 !important;
  line-height:1.35 !important;
}
.contact-form input,
.contact-form textarea{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #d7deee !important;
  border-radius:16px !important;
  padding:18px 22px !important;
  font-size:18px !important;
  font-family:inherit !important;
  background:#f8faff !important;
  color:#020617 !important;
}
.contact-form textarea{
  min-height:190px !important;
  resize:vertical !important;
}
.contact-form .required{color:#f04b2f !important;}
.contact-form .form-submit{
  align-self:flex-start !important;
  margin-top:4px !important;
}


/* v60 updates: unify hero background with Contact page style */
.hero, .page-hero, .services-hero, .portfolio-hero, .contact-hero, .hero-section, .section-hero {
  background: linear-gradient(115deg, #07143F 0%, #101B4A 55%, #4B243D 100%) !important;
}
.hero::before, .page-hero::before, .services-hero::before, .portfolio-hero::before, .contact-hero::before, .hero-section::before, .section-hero::before {
  background: transparent !important;
}
.contact-list a[href*="facebook.com"], .contact-links a[href*="facebook.com"], .contact-item a[href*="facebook.com"], a[href="https://www.facebook.com/EventManagementIMAGIC"] {
  color: inherit;
  text-decoration: none;
}
.contact-list a[href*="facebook.com"]:hover, .contact-links a[href*="facebook.com"]:hover, .contact-item a[href*="facebook.com"]:hover, a[href="https://www.facebook.com/EventManagementIMAGIC"]:hover {
  text-decoration: none;
}

/* v61: unify hero background and facebook link */
.hero, .page-hero, .services-hero, .portfolio-hero, .contact-hero { background: linear-gradient(110deg, #0f1a49 0%, #111b4d 58%, #5a263c 100%) !important; }
a.facebook-link { color: inherit; text-decoration: none; }
a.facebook-link:hover { text-decoration: none; opacity: .85; }

/* v62 social links fix */
.social-link{color:inherit;text-decoration:none;}
.social-link:hover{color:inherit;text-decoration:none;}


/* v64 contact social cleanup */
.contact-methods .contact-method,
.contact-methods a.contact-method,
.contact-methods button.contact-method{
  display:flex;
  align-items:center;
  gap:16px;
  width:100%;
  border:0;
  background:#f2f5fb;
  color:#06123d;
  text-decoration:none!important;
  font:inherit;
  text-align:left;
  cursor:default;
}
.contact-methods a.contact-method,
.contact-methods button.contact-method{cursor:pointer;}
.contact-methods .facebook-link,
.contact-methods .facebook-link:hover,
.contact-methods .facebook-link:visited{
  color:#06123d;
  text-decoration:none!important;
}
.contact-methods .contact-icon svg{width:24px;height:24px;display:block;fill:currentColor;}
.contact-methods .contact-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#111b4f;
  border-radius:50%;
}
.contact-methods button.contact-method span{pointer-events:none;}


/* v66 Portfolio Masonry Layout */
.portfolio-page-section{background:#fff;}
.portfolio-page-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow:dense;
  gap:22px !important;
  align-items:stretch;
  margin-top:10px;
}
.portfolio-page-item{
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:260px;
  border-radius:24px;
  overflow:hidden;
  background:#eef0f4;
  box-shadow:0 18px 45px rgba(5,8,20,.12);
  transition:transform .25s ease, box-shadow .25s ease;
}
.portfolio-page-item:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 55px rgba(5,8,20,.18);
}
.portfolio-page-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.portfolio-page-item.portfolio-feature,
.portfolio-page-item.portfolio-wide{
  grid-column:auto !important;
  grid-row:auto !important;
  min-height:0 !important;
}
.portfolio-page-item:nth-child(1){grid-column:span 2 !important;height:420px;}
.portfolio-page-item:nth-child(2){height:320px;}
.portfolio-page-item:nth-child(3){height:420px;}
.portfolio-page-item:nth-child(4){height:300px;}
.portfolio-page-item:nth-child(5){grid-column:span 2 !important;height:300px;}
.portfolio-page-item:nth-child(6){height:360px;}
.portfolio-page-item:nth-child(7){height:260px;}
.portfolio-page-item:nth-child(8){height:360px;}
.portfolio-page-item:nth-child(9){grid-column:span 2 !important;height:340px;}
.portfolio-page-item:nth-child(10){height:300px;}
.portfolio-page-item:nth-child(11){height:260px;}
.portfolio-page-item:nth-child(12){height:330px;}
.portfolio-page-item:nth-child(13){grid-column:span 2 !important;height:330px;}
.portfolio-page-item:nth-child(14){height:300px;}
.portfolio-page-item:nth-child(15){height:360px;}
.portfolio-page-item:nth-child(16){height:270px;}
.portfolio-page-item:nth-child(17){grid-column:span 2 !important;height:360px;}
.portfolio-page-item:nth-child(18){height:310px;}
.portfolio-page-item:nth-child(19){height:300px;}
.portfolio-page-item:nth-child(20){height:380px;}
.portfolio-page-item:nth-child(21){grid-column:span 2 !important;height:340px;}
.portfolio-page-item:nth-child(22){height:300px;}
.portfolio-page-item:nth-child(23){height:360px;}
.portfolio-page-item:nth-child(24){height:280px;}
.portfolio-page-item:nth-child(25){height:330px;}
.portfolio-page-item:nth-child(26){grid-column:span 2 !important;height:330px;}
@media(max-width:980px){
  .portfolio-page-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px !important;}
  .portfolio-page-item:nth-child(n){grid-column:auto !important;height:260px;}
  .portfolio-page-item:nth-child(1),
  .portfolio-page-item:nth-child(6),
  .portfolio-page-item:nth-child(13),
  .portfolio-page-item:nth-child(21){grid-column:span 2 !important;height:330px;}
}
@media(max-width:640px){
  .portfolio-page-grid{grid-template-columns:1fr !important;gap:16px !important;}
  .portfolio-page-item:nth-child(n){grid-column:auto !important;height:240px;}
}

/* v67 Selected Works 3x3 grid only */
.portfolio-page-section .selected-works-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:42px !important;
  align-items:stretch !important;
  margin-top:18px !important;
}
.portfolio-page-section .selected-works-grid .portfolio-page-item{
  grid-column:auto !important;
  grid-row:auto !important;
  height:360px !important;
  min-height:360px !important;
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:transparent !important;
  box-shadow:none !important;
}
.portfolio-page-section .selected-works-grid .portfolio-page-item img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:24px !important;
}
@media(max-width:1000px){
  .portfolio-page-section .selected-works-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important;}
  .portfolio-page-section .selected-works-grid .portfolio-page-item{height:300px !important;min-height:300px !important;}
}
@media(max-width:640px){
  .portfolio-page-section .selected-works-grid{grid-template-columns:1fr !important;}
  .portfolio-page-section .selected-works-grid .portfolio-page-item{height:260px !important;min-height:260px !important;}
}


/* v68 Selected Works only: 3x3 larger grid on home/services section */
.dark .selected-works-home{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:38px !important;
  align-items:stretch !important;
  margin-top:38px !important;
}
.dark .selected-works-home figure{
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
  border-radius:24px !important;
}
.dark .selected-works-home figure img{
  width:100% !important;
  height:320px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:24px !important;
}
@media(max-width:980px){
  .dark .selected-works-home{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px !important;}
  .dark .selected-works-home figure img{height:280px !important;}
}
@media(max-width:640px){
  .dark .selected-works-home{grid-template-columns:1fr !important;}
  .dark .selected-works-home figure img{height:240px !important;}
}


/* v69 portfolio-only random masonry layout */
.portfolio-page-grid.portfolio-masonry-grid{
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item{
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#eef0f4 !important;
  box-shadow:0 18px 45px rgba(5,8,20,.14) !important;
  min-height:unset !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 26px 60px rgba(5,8,20,.2) !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(1){grid-column:span 4 !important;height:520px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(2){grid-column:span 2 !important;height:520px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(3){grid-column:span 2 !important;height:330px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(4){grid-column:span 2 !important;height:330px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(5){grid-column:span 2 !important;height:330px !important;}
@media(max-width:980px){
  .portfolio-page-grid.portfolio-masonry-grid{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;}
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(n){grid-column:span 1 !important;height:300px !important;}
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(1){grid-column:span 2 !important;height:360px !important;}
}
@media(max-width:620px){
  .portfolio-page-grid.portfolio-masonry-grid{grid-template-columns:1fr !important;}
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(n){grid-column:auto !important;height:280px !important;}
}


/* v70 Portfolio masonry: use all 25 latest portfolio images */
.portfolio-page-section{background:#fff !important;}
.portfolio-page-grid.portfolio-masonry-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  grid-auto-flow:dense !important;
  gap:24px !important;
  max-width:1480px !important;
  margin:0 auto !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item{
  margin:0 !important;
  padding:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#eef0f4 !important;
  box-shadow:0 18px 45px rgba(5,8,20,.14) !important;
  min-height:0 !important;
  height:300px !important;
  transition:transform .28s ease, box-shadow .28s ease !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 28px 70px rgba(5,8,20,.22) !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(1){grid-column:span 3 !important;height:440px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(2){grid-column:span 3 !important;height:440px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(3){grid-column:span 2 !important;height:330px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(4){grid-column:span 2 !important;height:330px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(5){grid-column:span 2 !important;height:330px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(6){grid-column:span 4 !important;height:360px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(7){grid-column:span 2 !important;height:360px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(8){grid-column:span 2 !important;height:300px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(9){grid-column:span 2 !important;height:300px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(10){grid-column:span 2 !important;height:300px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(11){grid-column:span 3 !important;height:380px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(12){grid-column:span 3 !important;height:380px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(13){grid-column:span 2 !important;height:300px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(14){grid-column:span 4 !important;height:300px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(15){grid-column:span 3 !important;height:370px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(16){grid-column:span 3 !important;height:370px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(n+17){grid-column:span 2 !important;height:290px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(21){grid-column:span 4 !important;height:340px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(24){grid-column:span 3 !important;height:320px !important;}
.portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(25){grid-column:span 3 !important;height:320px !important;}
@media(max-width:980px){
  .portfolio-page-grid.portfolio-masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px !important;}
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(n){grid-column:auto !important;height:260px !important;}
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(1),
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(6),
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(11),
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(21){grid-column:span 2 !important;height:330px !important;}
}
@media(max-width:620px){
  .portfolio-page-grid.portfolio-masonry-grid{grid-template-columns:1fr !important;gap:16px !important;}
  .portfolio-page-grid.portfolio-masonry-grid .portfolio-page-item:nth-child(n){grid-column:auto !important;height:240px !important;}
}


/* v71 portfolio lightbox */
.portfolio-lightbox-link{display:block;width:100%;height:100%;cursor:zoom-in;text-decoration:none;color:inherit;}
.portfolio-lightbox-link img{transition:transform .35s ease, filter .35s ease;}
.portfolio-page-item:hover .portfolio-lightbox-link img{transform:scale(1.055) rotate(.35deg);filter:saturate(1.08) contrast(1.03);}
.image-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:36px;background:rgba(5,8,20,.88);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease, visibility .22s ease;backdrop-filter:blur(10px);}
.image-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.lightbox-image{display:block;max-width:min(94vw,1400px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.55);transform:scale(.96);transition:transform .22s ease;}
.image-lightbox.is-open .lightbox-image{transform:scale(1);}
.lightbox-close{position:fixed;top:22px;right:26px;width:48px;height:48px;border:0;border-radius:999px;background:#fff;color:#101a45;font-size:34px;line-height:1;cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.3);}
body.lightbox-open{overflow:hidden;}
@media(max-width:640px){.image-lightbox{padding:18px}.lightbox-close{top:12px;right:12px;width:42px;height:42px;font-size:30px}.lightbox-image{max-width:96vw;max-height:84vh;border-radius:16px}}


/* Portfolio masonry refinement */
.portfolio-masonry-grid {
  column-count: 4;
  column-gap: 22px;
}
.portfolio-masonry-grid .portfolio-page-item {
  break-inside: avoid;
  margin: 0 0 22px;
}
.portfolio-masonry-grid .portfolio-page-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
}
@media (max-width: 1100px) {
  .portfolio-masonry-grid { column-count: 3; }
}
@media (max-width: 760px) {
  .portfolio-masonry-grid { column-count: 2; }
}
@media (max-width: 520px) {
  .portfolio-masonry-grid { column-count: 1; }
}


/* v76 unified footer */
footer {
  background: #070b18 !important;
  color: #ffffff !important;
  text-align: center !important;
  padding: 28px 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}
footer p { margin: 0 !important; }
