*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Libre Franklin',sans-serif;background:#FFFFFF;color:#111827;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Public Sans',serif;font-weight:700}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 60px;background:#fff;border-bottom:1px solid #E5E7EB;position:sticky;top:0;z-index:100}
.nav__brand{font-family:'Public Sans',serif;font-size:1.4rem;font-weight:700;color:#111827}
.nav__links{display:flex;gap:24px}.nav__links a{font-size:0.85rem;color:#6B7280;transition:color 0.3s}.nav__links a:hover{color:#374151}

.intro-pc{max-width:800px;margin:0 auto;padding:80px 24px;text-align:center}
.intro-pc h1{font-size:clamp(2rem,3.5vw,3rem);color:#111827;margin-bottom:16px}.intro-pc p{color:#6B7280;line-height:1.7;font-size:1.05rem}

.case-row{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center}
.case-row:nth-child(even){direction:rtl}.case-row:nth-child(even) > *{direction:ltr}
.case-row__img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.case-row__text{padding:48px}.case-row__num{font-family:'Public Sans',serif;font-size:3rem;color:#F3F4F6;font-weight:700;margin-bottom:8px}
.case-row__text h3{font-size:1.3rem;color:#111827;margin-bottom:12px}.case-row__text p{color:#6B7280;line-height:1.7}

.process-pc{padding:80px 60px;background:#F9FAFB}
.process-pc h2{text-align:center;font-size:2rem;margin-bottom:48px;color:#111827}
.process-pc__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:900px;margin:0 auto}
.step-pc{text-align:center}.step-pc__num{font-family:'Public Sans',serif;font-size:2rem;color:#374151;margin-bottom:8px}
.step-pc h4{font-size:1rem;color:#111827;margin-bottom:6px}.step-pc p{font-size:0.85rem;color:#6B7280;line-height:1.5}

@media(max-width:768px){
  .nav{padding:16px 24px}.nav__links{display:none}
  .intro-pc{padding:48px 24px}
  .case-row,.case-row:nth-child(even){grid-template-columns:1fr;direction:ltr}.case-row__text{padding:32px 24px}
  .process-pc{padding:48px 24px}.process-pc__steps{grid-template-columns:1fr 1fr}
}
.nav__brand span{color:#2563EB}
.nav__links a:hover,.nav__links a.active{color:#fff}
.nav__cta{background:#2563EB;color:#fff;padding:10px 24px;font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border:none;cursor:pointer;transition:background 0.3s}
.nav__cta:hover{opacity:0.9}
.page-hdr{min-height:40vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#374151dd,#1F2937cc);position:relative;overflow:hidden}
.page-hdr__bg{position:absolute;inset:0}
.page-hdr__bg img{width:100%;height:100%;object-fit:cover;opacity:0.2;mix-blend-mode:luminosity}
.page-hdr__content{position:relative;z-index:2;padding:80px 40px}
.page-hdr h1{font-size:clamp(2rem,4vw,3rem);color:#fff;margin-bottom:12px}
.page-hdr p{font-size:1.1rem;color:rgba(255,255,255,0.8);max-width:560px;margin:0 auto}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:80px 60px;align-items:center}
.about-story__text h2{font-size:2rem;margin-bottom:16px;color:#111827}
.about-story__text p{font-size:1rem;color:#6B7280;line-height:1.8;margin-bottom:16px}
.about-story__img{border-radius:8px;overflow:hidden}
.about-story__img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.about-mv{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 60px 80px}
.about-mv__card{background:#F9FAFB;padding:40px;border-radius:8px;border:1px solid #E5E7EB}
.about-mv__icon{width:48px;height:48px;background:#374151;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;margin-bottom:16px}
.about-mv__card h3{font-size:1.3rem;margin-bottom:10px;color:#111827}
.about-mv__card p{font-size:0.9rem;color:#6B7280;line-height:1.7}
.about-team{padding:80px 60px;background:#F9FAFB}
.about-team h2{font-size:2rem;text-align:center;margin-bottom:8px;color:#111827}
.about-team__sub{text-align:center;color:#6B7280;margin-bottom:48px;font-size:1rem}
.about-team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:900px;margin:0 auto}
.about-team__member{text-align:center}
.about-team__img{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:3px solid #E5E7EB}
.about-team__img img{width:100%;height:100%;object-fit:cover}
.about-team__member h4{font-size:1.05rem;margin-bottom:4px;color:#111827}
.about-team__member span{font-size:0.8rem;color:#6B7280}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#FFFFFF;border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB}
.about-stat{text-align:center;padding:40px 20px;border-right:1px solid #E5E7EB}
.about-stat:last-child{border-right:none}
.about-stat__num{font-family:'Public Sans',serif;font-size:2.8rem;font-weight:700;color:#374151;line-height:1}
.about-stat__label{font-size:0.8rem;color:#6B7280;text-transform:uppercase;letter-spacing:0.06em;margin-top:8px}
@media(max-width:480px){.about-team__grid,.about-stats{grid-template-columns:1fr}}
.footer{background:#111827;color:rgba(255,255,255,0.6);padding:60px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:1200px;margin:0 auto}
.footer__brand{font-family:'Public Sans',serif;font-size:1.4rem;color:#fff;margin-bottom:12px}
.footer__desc{font-size:0.85rem;line-height:1.7;max-width:280px}
.footer__title{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.4);margin-bottom:16px}
.footer__links{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer__links a{font-size:0.85rem;color:rgba(255,255,255,0.6);transition:color 0.3s}
.footer__links a:hover{color:#fff}
.footer__bar{border-top:1px solid rgba(255,255,255,0.1);margin-top:40px;padding-top:20px;text-align:center;font-size:0.8rem;max-width:1200px;margin-left:auto;margin-right:auto}
.port-pg{padding:80px 60px;background:#FFFFFF}
.port-pg__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:16px}
.port-pg h2{font-size:2rem;color:#111827}
.port-pg__filters{display:flex;gap:8px;flex-wrap:wrap}
.port-filt{padding:8px 20px;border:2px solid #E5E7EB;background:transparent;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;color:#6B7280;cursor:pointer;transition:all 0.2s;border-radius:4px}
.port-filt.active,.port-filt:hover{background:#374151;color:#fff;border-color:#374151}
.port-pg__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.port-pg__item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.port-pg__item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.port-pg__item:hover img{transform:scale(1.06)}
.port-pg__overlay{position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,0.75));display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity 0.3s}
.port-pg__item:hover .port-pg__overlay{opacity:1}
.port-pg__overlay h4{color:#fff;font-size:1.1rem;margin-bottom:4px}
.port-pg__overlay span{color:rgba(255,255,255,0.7);font-size:0.8rem}
.port-cta{padding:60px;text-align:center;background:#F9FAFB}
.port-cta h3{font-size:1.6rem;margin-bottom:12px;color:#111827}
.port-cta p{color:#6B7280;margin-bottom:24px}
.port-cta__btn{display:inline-block;padding:14px 36px;background:#374151;color:#fff;border-radius:6px;font-weight:600;font-size:0.9rem}
.port-cta__btn:hover{opacity:0.9}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:80px 60px}
.contact-form h2{font-size:1.6rem;margin-bottom:24px;color:#111827}
.contact-form__group{margin-bottom:20px}
.contact-form__label{display:block;font-size:0.8rem;color:#6B7280;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}
.contact-form__input{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:6px;font-size:0.9rem;font-family:'Libre Franklin',sans-serif;background:#FFFFFF;color:#111827;outline:none;transition:border-color 0.3s}
.contact-form__input:focus{border-color:#374151}
.contact-form__textarea{width:100%;padding:12px 16px;border:1px solid #E5E7EB;border-radius:6px;font-size:0.9rem;font-family:'Libre Franklin',sans-serif;background:#FFFFFF;color:#111827;outline:none;min-height:140px;resize:vertical;transition:border-color 0.3s}
.contact-form__textarea:focus{border-color:#374151}
.contact-form__btn{padding:14px 40px;background:#374151;color:#fff;border:none;border-radius:6px;font-size:0.9rem;font-weight:600;cursor:pointer;transition:background 0.3s;font-family:'Libre Franklin',sans-serif}
.contact-form__btn:hover{background:#1F2937}
.contact-info h2{font-size:1.6rem;margin-bottom:24px;color:#111827}
.contact-info__items{display:flex;flex-direction:column;gap:20px}
.contact-info__item{display:flex;gap:16px;align-items:flex-start;padding:20px;background:#F9FAFB;border-radius:8px;border:1px solid #E5E7EB}
.contact-info__icon{width:44px;height:44px;background:#374151;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0}
.contact-info__item h4{font-size:1rem;margin-bottom:4px;color:#111827}
.contact-info__item p{font-size:0.85rem;color:#6B7280;line-height:1.5}
.contact-map{height:300px;background:linear-gradient(135deg,#F9FAFB,#E5E7EB);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.contact-map::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 40px,#E5E7EB44 40px,#E5E7EB44 41px),repeating-linear-gradient(90deg,transparent,transparent 40px,#E5E7EB44 40px,#E5E7EB44 41px)}
.contact-map span{position:relative;z-index:1;font-size:0.9rem;color:#6B7280;padding:12px 24px;background:#FFFFFF;border-radius:6px;border:1px solid #E5E7EB}
/* SitePilot: mobile nav toggle */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:inherit}
@media(max-width:768px){
  .nav-toggle{display:block}
  .nav__cta{display:none}
  .nav__links{flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);padding:16px 24px;box-shadow:0 4px 12px rgba(0,0,0,0.1);gap:12px}
}
