:root {
  --black:#111111; --ink:#1C1C1C; --charcoal:#2E2E2E; --mid:#666666;
  --light:#999999; --rule:#CCCCCC; --fog:#EBEBEB; --offwhite:#F5F5F3; --white:#FFFFFF;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;background:var(--white);color:var(--ink);overflow-x:hidden;}
::-webkit-scrollbar{width:4px;} ::-webkit-scrollbar-track{background:var(--white);} ::-webkit-scrollbar-thumb{background:var(--rule);}

nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 5rem;background:rgba(255,255,255,0.97);border-bottom:1px solid var(--fog);backdrop-filter:blur(10px);transition:padding 0.3s,box-shadow 0.3s;}
nav.scrolled{padding:0.7rem 5rem;box-shadow:0 2px 16px rgba(0,0,0,0.06);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo-img{height:38px;width:auto;display:block;transition:height 0.3s;}
nav.scrolled .nav-logo-img{height:30px;}
.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links a{font-family:'Poppins',sans-serif;font-size:0.78rem;font-weight:400;letter-spacing:1px;color:var(--mid);text-decoration:none;transition:color 0.25s;position:relative;padding-bottom:3px;white-space:nowrap;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--black);transition:width 0.3s;}
.nav-links a:hover,.nav-links a.active{color:var(--black);} .nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{font-family:'Poppins',sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.3px;color:var(--white);background:var(--black);padding:0.65rem 1.6rem;text-decoration:none;border:1px solid var(--black);transition:background 0.25s,transform 0.2s;white-space:nowrap;}
.nav-cta:hover{background:var(--charcoal);transform:translateY(-1px);}

.hero{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;padding:6.5rem 5rem 1.5rem;background:var(--white);position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle,#D8D8D8 1px,transparent 1px);background-size:28px 28px;opacity:0.5;}
.hero-map-bg{position:absolute;inset:0;z-index:0;opacity:0.07;pointer-events:none;}
.hero-map-bg svg{width:100%;height:100%;}
.hero-left{position:relative;z-index:1;max-width:640px;padding-top:2rem;}
.hero-right{position:relative;z-index:1;}
.hero-logo-wordmark{width:100%;max-width:520px;height:auto;display:block;margin-bottom:2.2rem;animation:fadeUp 0.7s ease both;}
.hero-desc{font-size:1rem;font-weight:400;line-height:1.9;color:var(--mid);max-width:440px;margin-bottom:2.8rem;animation:fadeUp 0.9s 0.2s ease both;}
.hero-btns{display:flex;gap:1rem;animation:fadeUp 1s 0.3s ease both;}
.btn-filled{font-family:'Poppins',sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.3px;text-decoration:none;padding:0.9rem 2rem;background:var(--black);color:var(--white);border:1px solid var(--black);transition:background 0.25s,transform 0.2s;display:inline-block;}
.btn-filled:hover{background:var(--charcoal);transform:translateY(-2px);}
.btn-ghost{font-family:'Poppins',sans-serif;font-size:0.68rem;font-weight:400;letter-spacing:0.3px;text-decoration:none;padding:0.9rem 2rem;background:transparent;color:var(--black);border:1px solid var(--rule);transition:border-color 0.25s,transform 0.2s;display:inline-block;}
.btn-ghost:hover{border-color:var(--black);transform:translateY(-2px);}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* PAGE HERO (sub-pages) */
.page-hero{padding:9rem 5rem 3.5rem;background:var(--white);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle,#D8D8D8 1px,transparent 1px);background-size:28px 28px;opacity:0.5;}
.page-hero-inner{position:relative;z-index:1;max-width:1600px;margin:0;text-align:left;}
.page-hero-title{font-family:'Poppins',sans-serif;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;letter-spacing:1px;color:var(--black);line-height:1.15;margin-bottom:1.4rem;}
.page-hero-desc{font-size:0.95rem;font-weight:400;line-height:1.9;color:var(--mid);max-width:none;margin:0;}
.page-hero-meta{display:flex;justify-content:flex-start;align-items:center;gap:0.8rem;margin-top:1.4rem;}
.page-hero-meta span{font-family:'Poppins',sans-serif;font-size:0.6rem;font-weight:400;letter-spacing:0.4px;color:var(--light);}
.page-hero-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--rule);}

/* PARTNERS */
.partners{padding:2.5rem 5rem;background:var(--offwhite);border-top:1px solid var(--fog);border-bottom:1px solid var(--fog);}
.partners-label{text-align:center;font-family:'Poppins',sans-serif;font-size:0.6rem;font-weight:400;letter-spacing:0.5px;color:var(--light);margin-bottom:3rem;}
.partners-grid{max-width:1060px;margin:0 auto;display:flex;align-items:stretch;border:1px solid var(--rule);background:var(--white);}
.partner-item{flex:1;padding:2.8rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;border-right:1px solid var(--rule);transition:background 0.3s,transform 0.3s,box-shadow 0.3s;cursor:default;background:var(--white);}
.partner-item:last-child{border-right:none;}
.partner-item:hover{background:var(--offwhite);transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.06);}
.partner-logo-wrap{height:52px;display:flex;align-items:center;justify-content:center;width:100%;}
.partner-logo-wrap img{max-height:48px;max-width:150px;width:auto;height:auto;object-fit:contain;display:block;}
.partner-divider{width:24px;height:1px;background:var(--fog);}
.partner-name{font-family:'Poppins',sans-serif;font-size:0.56rem;font-weight:400;letter-spacing:0.3px;color:var(--light);text-align:center;}

/* EXPLORE (index -> sub-pages) */
.explore{padding:3rem 5rem 6rem;background:var(--white);}
.explore-head{text-align:center;max-width:640px;margin:0 auto 3.5rem;}
.explore-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.explore-card{border:1px solid var(--fog);padding:3rem 2.4rem;display:flex;flex-direction:column;gap:0.6rem;transition:border-color 0.3s,transform 0.3s,box-shadow 0.3s;background:var(--white);}
.explore-card:hover{border-color:var(--rule);transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.06);}
.explore-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;}
.explore-card-tag{font-family:'Poppins',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.3px;color:var(--light);}
.explore-card-icon{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;}
.explore-card-icon svg{width:18px;height:18px;opacity:0.55;}
.explore-card-title{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:0.5px;color:var(--black);}
.explore-card-desc{font-size:0.88rem;font-weight:400;line-height:1.8;color:var(--mid);flex-grow:1;}
.explore-card-link{font-family:'Poppins',sans-serif;font-size:0.66rem;font-weight:600;letter-spacing:0.3px;color:var(--black);text-decoration:none;border-bottom:1px solid var(--black);padding-bottom:2px;align-self:flex-start;}

/* CARD GRID (articles / projects / services) */
.content-section{padding:1rem 5rem 6rem;background:var(--white);}
.content-tabs{display:flex;justify-content:center;gap:2.5rem;margin-bottom:3.5rem;border-bottom:1px solid var(--fog);}
.content-tab{font-family:'Poppins',sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.3px;color:var(--light);padding-bottom:1rem;border-bottom:1px solid transparent;margin-bottom:-1px;}
.content-tab.active{color:var(--black);border-color:var(--black);}
.card-grid{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;}
.item-card{position:relative;display:flex;align-items:center;gap:2rem;padding:2rem 1.5rem 2.8rem 0;border-bottom:1px solid var(--fog);transition:background 0.25s;}
.item-card:hover{background:var(--offwhite);}
.item-card-media{width:68px;height:68px;flex-shrink:0;background:var(--offwhite);display:flex;align-items:center;justify-content:center;border:1px solid var(--fog);}
.item-card-media svg{width:26px;height:26px;opacity:0.35;}
.item-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:0.7rem;}
.item-card-badges{display:flex;gap:0.6rem;flex-wrap:wrap;}
.item-badge{font-family:'Poppins',sans-serif;font-size:0.55rem;font-weight:700;letter-spacing:0.4px;color:var(--mid);border:1px solid var(--rule);padding:0.3rem 0.6rem;}
.item-badge.badge-dark{background:var(--black);color:var(--white);border-color:var(--black);}
.item-card-title{font-family:'Poppins',sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:0;color:var(--black);line-height:1.3;}
.item-card-desc{font-size:0.85rem;font-weight:400;line-height:1.75;color:var(--mid);max-width:760px;}
.item-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:0.2rem;}
.item-card-date{font-family:'Poppins',sans-serif;font-size:0.6rem;font-weight:400;letter-spacing:0.3px;color:var(--light);}
.item-card-link{font-family:'Poppins',sans-serif;font-size:0.62rem;font-weight:600;letter-spacing:0.4px;color:var(--black);text-decoration:none;border-bottom:1px solid var(--black);padding-bottom:1px;white-space:nowrap;}
.item-card-link-corner{position:absolute;right:1.5rem;bottom:0.9rem;}
.item-card-logo{flex-shrink:0;display:flex;align-items:center;gap:1.4rem;margin-left:auto;padding-left:1rem;}
.item-card-logo img{max-height:34px;max-width:110px;width:auto;height:auto;object-fit:contain;}
.placeholder-note{max-width:1600px;margin:0 auto 2.5rem;padding:1rem 1.4rem;background:var(--offwhite);border:1px dashed var(--rule);font-size:0.8rem;color:var(--mid);line-height:1.7;}
.placeholder-note strong{color:var(--ink);}

.section-tag{font-family:'Poppins',sans-serif;font-size:0.6rem;font-weight:400;letter-spacing:0.5px;color:var(--light);margin-bottom:1rem;}
.section-title{font-family:'Poppins',sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;letter-spacing:0.5px;color:var(--black);margin-bottom:1rem;line-height:1.1;}
.section-rule{width:36px;height:1px;background:var(--black);margin-bottom:1.8rem;}
.section-desc{font-size:0.9rem;font-weight:400;line-height:1.9;color:var(--mid);max-width:420px;}
.contact-details{margin:2.8rem 0;display:flex;flex-direction:row;flex-wrap:wrap;gap:3rem;}
.contact-item{display:flex;gap:1.2rem;align-items:flex-start;}
.contact-icon{width:36px;height:36px;flex-shrink:0;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;}
.contact-icon svg{width:15px;height:15px;}
.contact-label{font-family:'Poppins',sans-serif;font-size:0.58rem;font-weight:700;letter-spacing:0.3px;color:var(--light);margin-bottom:0.3rem;}
.contact-value{font-size:0.88rem;font-weight:300;color:var(--ink);}
.contact-form{display:flex;flex-direction:column;gap:1.1rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.form-group{display:flex;flex-direction:column;gap:0.45rem;}
.form-group label{font-family:'Poppins',sans-serif;font-size:0.58rem;font-weight:400;letter-spacing:0.4px;color:var(--mid);}
.form-group input,.form-group select,.form-group textarea{font-family:'Poppins',sans-serif;font-size:0.88rem;font-weight:300;color:var(--ink);background:var(--offwhite);border:1px solid var(--fog);padding:0.85rem 1rem;outline:none;border-radius:0;-webkit-appearance:none;transition:border-color 0.25s,background 0.25s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--black);background:var(--white);}
.form-group textarea{resize:vertical;min-height:130px;}
.submit-btn{font-family:'Poppins',sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.3px;color:var(--white);background:var(--black);padding:0.9rem 2rem;border:1px solid var(--black);cursor:pointer;transition:background 0.25s,transform 0.2s;align-self:flex-start;}

/* Compact contact block inside the hero */
.hero-right .section-tag{margin-bottom:0.4rem;}
.hero-right .section-title{font-size:clamp(1.5rem,2.2vw,2rem);margin-bottom:0.5rem;}
.hero-right .section-rule{margin-bottom:0.9rem;}
.hero-right .section-desc{font-size:0.82rem;line-height:1.55;max-width:none;}
.hero-right .contact-details{margin:1rem 0;gap:1.6rem;}
.hero-right .contact-icon{width:28px;height:28px;}
.hero-right .contact-icon svg{width:12px;height:12px;}
.hero-right .contact-form{gap:0.6rem;}
.hero-right .form-row{gap:0.6rem;}
.hero-right .form-group{gap:0.25rem;}
.hero-right .form-group input,.hero-right .form-group select,.hero-right .form-group textarea{padding:0.5rem 0.75rem;font-size:0.8rem;}
.hero-right .form-group textarea{min-height:110px;}
.hero-right .submit-btn{padding:0.65rem 1.6rem;margin-top:0.2rem;}
.submit-btn:hover{background:var(--charcoal);transform:translateY(-1px);}

footer{background:var(--offwhite);padding:2.2rem 5rem;border-top:1px solid var(--fog);}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
.footer-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.footer-logo-img{height:26px;width:auto;display:block;}
.footer-copy{font-size:0.65rem;font-weight:300;letter-spacing:1px;color:var(--light);}
.footer-email{font-size:0.72rem;font-weight:300;color:var(--mid);text-decoration:none;transition:color 0.25s;}
.footer-email:hover{color:var(--black);}

@media(max-width:900px){
  nav{padding:1rem 1.5rem;} nav.scrolled{padding:0.7rem 1.5rem;} .nav-links{display:none;}
  .hero{grid-template-columns:1fr;padding:6rem 1.5rem 3rem;gap:3rem;} .hero-left{text-align:center;max-width:none;padding-top:0;}
  .hero-btns{justify-content:center;} .hero-desc{margin:0 auto 2.5rem;}
  .page-hero{padding:7rem 1.5rem 3rem;}
  .partners{padding:3rem 1.5rem;} .partners-grid{flex-direction:column;}
  .partner-item{border-right:none;border-bottom:1px solid var(--rule);} .partner-item:last-child{border-bottom:none;}
  .explore{padding:4rem 1.5rem;} .explore-grid{grid-template-columns:1fr;}
  .content-section{padding:0 1.5rem 4rem;} .content-tabs{gap:1.2rem;}
  .item-card{flex-direction:column;align-items:flex-start;gap:1rem;} .item-card-foot{width:100%;}
  .item-card-logo{margin-left:0;padding-left:0;}
  .form-row{grid-template-columns:1fr;}
  footer{padding:2rem 1.5rem;} .footer-inner{flex-direction:column;gap:0.8rem;text-align:center;}
}
