/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;background:#013d71;}
.hero-circles{position:absolute;inset:0;overflow:hidden;}
.hero-circles div{position:absolute;border-radius:9999px;background:#215180;}
.hero-c1{width:380px;height:380px;opacity:.5;top:18%;left:18%;animation:heroFloat1 14s ease-in-out infinite;}
.hero-c2{width:290px;height:290px;opacity:.5;bottom:-12%;left:-6%;animation:heroFloat2 17s ease-in-out infinite;}
.hero-c3{width:420px;height:420px;opacity:.4;top:-16%;right:4%;animation:heroFloat3 15s ease-in-out infinite;}
@keyframes heroFloat1{0%,100%{transform:translate(0,0);}33%{transform:translate(120px,0px);}66%{transform:translate(60px,140px);}}
@keyframes heroFloat2{0%,100%{transform:translate(0,0);}33%{transform:translate(140px,-40px);}66%{transform:translate(0px,-115px);}}
@keyframes heroFloat3{0%,100%{transform:translate(0,0);}33%{transform:translate(-125px,0px);}66%{transform:translate(-60px,120px);}}
@media(prefers-reduced-motion:reduce){
  .hero-c1,.hero-c2,.hero-c3{animation:none;}
}
.hero-inner{position:relative;padding:8rem 1.5rem 5rem;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:0;align-items:center;}
.hero-text{color:var(--primary-foreground);display:contents;}
.hero-eyebrow{font-size:.875rem;font-weight:500;letter-spacing:.1em;margin-bottom:1rem;color:rgba(252,252,252,.8);}
.hero-title{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem;}
.hero-desc{font-size:1.125rem;color:rgba(252,252,252,.8);margin-bottom:2rem;line-height:1.7;max-width:32rem;}
.hero-images{order:1;}
.hero-buttons{display:flex;flex-direction:column;gap:1rem;order:2;margin-top:2rem;}
.btn-lg{padding:1.25rem 2.5rem;font-size:1rem;}
.hero-buttons .btn-lg{padding-top:.625rem;padding-bottom:.625rem;}
.hero-btn-primary{background:#ce5914;color:var(--accent-foreground);font-weight:700;border:1px solid #ce5914;}
.hero-btn-primary:hover{background:#fff;color:var(--primary);}
.hero-btn-primary .icon{width:20px;height:20px;}
.hero-btn-ghost{border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.1);}
.hero-btn-ghost:hover{background:rgba(255,255,255,.2);}
.hero-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.hero-col{display:flex;flex-direction:column;gap:1rem;}
.hero-col-right{margin-top:2.5rem;}
.hero-frame{background:rgba(255,255,255,.1);border-radius:0;overflow:hidden;box-shadow:0 10px 20px rgba(0,0,0,.2);}
.hero-frame img{width:100%;height:100%;object-fit:cover;animation:heroKenBurns 6s ease-in-out infinite alternate;}
.hero-col:not(.hero-col-right) .hero-frame:last-of-type img{animation-delay:-1.5s;}
.hero-col-right .hero-frame:first-of-type img{animation-delay:-3s;}
.hero-col-right .hero-frame:last-of-type img{animation-delay:-4.5s;}
@keyframes heroKenBurns{0%{transform:scale(1);}100%{transform:scale(1.12);}}
@media(prefers-reduced-motion:reduce){
  .hero-frame img{animation:none;}
}
.ratio-43{aspect-ratio:4/3;}
.ratio-11{aspect-ratio:1/1;}

/* ===== About ===== */
.about-head{max-width:56rem;margin:0 auto 3rem;text-align:center;}
.reasons{display:grid;grid-template-columns:repeat(2,1fr);row-gap:2.5rem;}
.reason{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1.5rem;opacity:0;transform:translateY(40px);transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1);}
.reason.in{opacity:1;transform:translateY(0);}
.reason .icon{width:48px;height:48px;color:var(--primary);stroke-width:1.5;margin-bottom:1.25rem;}
.reason h3{font-size:1rem;font-weight:700;color:var(--foreground);margin-bottom:.75rem;}
.reason p{font-size:1rem;color:var(--muted-foreground);line-height:1.7;}

/* ===== Products ===== */
.grid-cards{display:grid;grid-template-columns:1fr;gap:1.5rem;}
.card{background:var(--card);border-radius:0;overflow:hidden;border:1px solid var(--border);transition:border-color .3s,box-shadow .3s;display:block;}
.card:hover{border-color:rgba(0,61,113,.3);box-shadow:0 12px 28px rgba(0,0,0,.1);}
.card-img{aspect-ratio:4/3;overflow:hidden;background:var(--muted);position:relative;}
.work-img-badge{position:absolute;top:.5rem;left:.5rem;z-index:1;background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .625rem;border-radius:.25rem;}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.card:hover .card-img img{transform:scale(1.05);}
.card-body{padding:1.25rem;}
.card-en{font-size:.75rem;color:var(--primary);font-weight:500;letter-spacing:.1em;margin-bottom:.25rem;}
.card-title{font-size:1.125rem;font-weight:700;color:var(--foreground);margin-bottom:.5rem;transition:color .3s;}
.card:hover .card-title{color:var(--primary);}
.card-desc{font-size:1rem;color:var(--muted-foreground);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;}
.tag{font-size:.75rem;padding:.25rem .5rem;background:#d6e7f7;color:#023a6b;border-radius:.25rem;}

/* ===== Works ===== */
.works-head{margin-bottom:2.5rem;}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;}
.filter-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--foreground);transition:all .2s;}
.filter-btn:hover{border-color:var(--primary);color:var(--primary);}
.filter-btn.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);}
.work-badges{display:flex;flex-wrap:wrap;gap:.375rem;}
.badge-cat{font-size:.75rem;padding:.125rem .5rem;background:rgba(0,61,113,.1);color:var(--primary);border-radius:.25rem;}
.badge-prod{font-size:.75rem;padding:.125rem .5rem;background:rgba(201,117,47,.1);color:var(--accent);border-radius:.25rem;}
.work-title{font-size:1.125rem;font-weight:700;color:var(--foreground);margin-top:.5rem;transition:color .3s;}
.card:hover .work-title{color:var(--primary);}
.work-hidden{display:none;}

/* ===== News ===== */
.news-wrap{max-width:56rem;margin:0 auto;}
.news-head{margin-bottom:2rem;}
.news-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.news-item{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1rem;margin:0 -1rem;transition:background .2s;border-bottom:1px solid var(--border);}
.news-item:last-child{border-bottom:none;}
.news-item:hover{background:rgba(232,237,244,.5);}
.news-meta{display:flex;align-items:center;gap:1rem;}
.news-date{font-size:.875rem;color:var(--muted-foreground);font-family:ui-monospace,monospace;}
.news-cat{font-size:.75rem;padding:.125rem .5rem;background:#fff;color:var(--primary);border-radius:.25rem;}
.news-title{flex:1;color:var(--foreground);transition:color .3s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.news-item:hover .news-title{color:var(--primary);}

/* ===== CTA ===== */
.cta{position:relative;overflow:hidden;background:var(--primary);}
.cta-pattern{position:absolute;inset:0;opacity:.1;}
.cta-pattern div{position:absolute;background:#fff;border-radius:9999px;}
.cta-p1{top:0;left:0;width:16rem;height:16rem;transform:translate(-50%,-50%);}
.cta-p2{bottom:0;right:0;width:24rem;height:24rem;transform:translate(50%,50%);}
.cta-inner{position:relative;}
.cta-box{max-width:48rem;margin:0 auto;text-align:center;}
.cta-title{font-size:1.5rem;font-weight:700;color:var(--primary-foreground);margin-bottom:1rem;}
.cta-desc{font-size:1.125rem;color:rgba(252,252,252,.8);margin-bottom:2.5rem;line-height:1.7;}
.cta-buttons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;margin-bottom:3rem;}
.cta-btn{background:#ce5914;color:var(--accent-foreground);font-weight:700;border:1px solid #ce5914;padding-top:.625rem;padding-bottom:.625rem;}
.cta-btn:hover{background:#fff;color:var(--primary);border-color:#fff;}
.cta-btn .icon{width:20px;height:20px;}
.cta-contact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;color:var(--primary-foreground);}
.cta-contact a{display:flex;align-items:center;gap:.75rem;transition:opacity .2s;}
.cta-contact a:hover{opacity:.8;}
.cta-icon{width:48px;height:48px;background:rgba(255,255,255,.1);border-radius:9999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cta-contact .sm{font-size:.875rem;opacity:.7;}
.cta-contact .lg{font-size:1.25rem;font-weight:700;}
.cta-contact .md{font-size:1.125rem;font-weight:700;}

/* ===== Responsive (index page specific) ===== */
@media(min-width:640px){
  .hero-desc br{display:block;}
  .hero-buttons{flex-direction:row;}
  .grid-cards{grid-template-columns:repeat(2,1fr);}
  .reasons{grid-template-columns:repeat(3,1fr);}
  .news-item{flex-direction:row;align-items:center;gap:1.5rem;}
  .cta-buttons{flex-direction:row;}
  .cta-contact{flex-direction:row;}
}
@media(min-width:768px){
  .hero-title{font-size:2.75rem;}
  .hero-desc{font-size:1.25rem;}
}
@media(min-width:1024px){
  .hero-inner{padding:10rem 3rem 7rem;}
  .hero-grid{grid-template-columns:repeat(2,1fr);gap:3rem;}
  .hero-text{display:block;}
  .hero-images{order:0;}
  .hero-buttons{order:0;margin-top:0;}
  .hero-title{font-size:3.5rem;}
  .hero-images{gap:1.5rem;}
  .hero-col{gap:1.5rem;}
  .hero-col-right{margin-top:4rem;}
  .cta-title{font-size:2.25rem;}
  .grid-cards{grid-template-columns:repeat(4,1fr);}
  .reasons{grid-template-columns:repeat(5,1fr);}
  .reason{border-left:1px solid var(--border);}
  .reason:first-child{border-left:none;}
}
@media(min-width:1280px){
  .hero-title{font-size:3.75rem;}
}
