*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;color:#333;background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}

/* ---------- utility ---------- */
.container{max-width:1440px;margin:0 auto}
.mono{font-family:'JetBrains Mono',monospace}
.sup-label{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:3px;color:#9e9e9e}

/* ---------- header ---------- */
.header{display:flex;align-items:center;justify-content:space-between;height:80px;padding:0 80px;background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;transition:border-color .2s}
.header.scrolled{border-bottom-color:#e8e8e8}
.header__logo{display:flex;align-items:center;text-decoration:none;color:#333}
.header__logo-img{height:34px;width:auto}
.header__nav{display:flex;align-items:center;gap:40px}
.header__link{font-size:14px;font-weight:500;color:#666;text-decoration:none;transition:color .2s}
.header__link:hover{color:#333}
.header__cta{display:inline-flex;align-items:center;padding:10px 24px;border-radius:4px;background:#9e9e9e;color:#fff;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s}
.header__cta:hover{background:#888}

/* ---------- hero ---------- */
.hero{display:flex;flex-direction:column;align-items:center;padding:120px 120px 100px;background:linear-gradient(180deg,#fff 0%,#f2f2f2 50%,#e8e8e8 100%);gap:32px;text-align:center}
.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:100px;border:1px solid rgba(158,158,158,.2)}
.hero__badge-dot{width:8px;height:8px;border-radius:50%;background:#9e9e9e}
.hero__badge-text{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:2px;color:#9e9e9e}
.hero__headline{font-size:52px;font-weight:700;line-height:1.3;max-width:900px}
.hero__subline{font-size:18px;color:#666;line-height:1.6;max-width:700px}
.hero__ctas{display:flex;align-items:center;gap:16px}
.btn--primary{display:inline-flex;align-items:center;padding:16px 40px;border-radius:4px;background:#9e9e9e;color:#fff;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s}
.btn--primary:hover{background:#888}
.btn--secondary{display:inline-flex;align-items:center;padding:16px 40px;border-radius:4px;border:1px solid #ccc;color:#333;font-size:16px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s}
.btn--secondary:hover{border-color:#999;color:#111}

/* ---------- sections ---------- */
.section{padding:80px 120px}
.section--alt{background:#f2f2f2}
.section--white{background:#fff}
.section__header{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-bottom:48px}
.section__title{font-size:36px;font-weight:700}
.section__sub{font-size:16px;color:#666}

/* ---------- cards grid ---------- */
.cards{display:flex;gap:24px;width:100%}
.card{flex:1;display:flex;flex-direction:column;gap:20px;padding:32px;border-radius:8px;background:#fff;border:1px solid #9e9e9e}
.card__icon{color:#9e9e9e}
.card__title{font-size:18px;font-weight:600;line-height:1.5}
.card__desc{font-size:13px;color:#888;line-height:1.6}

/* ---------- mission / vision ---------- */
.mv{display:flex;gap:48px;padding:80px 120px;background:#fff}
.mv__block{flex:1;display:flex;flex-direction:column;gap:20px;padding:40px;border-radius:8px;border:1px solid #9e9e9e;background:#fff}
.mv__label{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:3px;color:#9e9e9e}
.mv__title{font-size:24px;font-weight:600;line-height:1.5}
.mv__desc{font-size:14px;color:#888;line-height:1.6}

/* ---------- CTA section ---------- */
.cta-section{display:flex;flex-direction:column;align-items:center;gap:32px;padding:80px 120px;background:linear-gradient(180deg,#fff 0%,#f2f2f2 100%);text-align:center}
.cta-section__title{font-size:32px;font-weight:700}
.cta-section__sub{font-size:16px;color:#666}
.cta-section__btn{display:inline-flex;align-items:center;padding:18px 48px;border-radius:4px;background:#9e9e9e;color:#fff;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s}
.cta-section__btn:hover{background:#888}

/* ---------- footer ---------- */
.footer{background:#9e9e9e;padding:60px 120px 40px;display:flex;flex-direction:column;gap:40px}
.footer__top{display:flex;justify-content:space-between;align-items:flex-start}
.footer__brand{display:flex;flex-direction:column;gap:12px}
.footer__logo{display:flex;align-items:center;color:#333}
.footer__logo-img{height:28px;width:auto}
.footer__tagline{font-size:13px;color:#fff}
.footer__nav{display:flex;gap:64px}
.footer__col{display:flex;flex-direction:column;gap:12px}
.footer__col-head{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:2px;color:#666}
.footer__col a{font-size:13px;color:#fff;text-decoration:none;transition:opacity .2s}
.footer__col a:hover{opacity:.8}
.footer__line{height:1px;background:#e8e8e8}
.footer__copy{font-size:12px;color:#999}

/* ---------- team page ---------- */
.team-hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 120px;background:#f2f2f2;text-align:center}
.team-hero__title{font-size:36px;font-weight:700}
.team-hero__sub{font-size:16px;color:#666}

.team-grid{display:flex;flex-direction:column;gap:24px;padding:40px 120px}
.team-row{display:flex;gap:24px;justify-content:space-between}
.team-row--narrow{padding:0 204px}
.member{flex:1;display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:8px;background:#fff;border:1px solid #9e9e9e}
.member__role{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:2px;color:#9e9e9e}
.member__name{font-size:16px;font-weight:600;line-height:1.5}
.member__bio{font-size:13px;color:#888;line-height:1.6}

/* company info */
.company{display:flex;flex-direction:column;gap:20px;padding:40px;border-radius:8px;background:#fff;border:1px solid #9e9e9e}
.company__title-wrap{padding-bottom:20px;border-bottom:1px solid #e0e0e0}
.company__title{font-size:18px;font-weight:600}
.company__row{display:flex;gap:16px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}
.company__row:last-child{border-bottom:none;padding-bottom:0}
.company__label{font-size:13px;font-weight:500;color:#9e9e9e;white-space:nowrap;min-width:60px}
.company__value{font-size:14px;line-height:1.6}

/* ---------- contact page ---------- */
.contact-hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 120px;background:#f2f2f2;text-align:center}
.contact-hero__title{font-size:36px;font-weight:700}
.contact-hero__sub{font-size:16px;color:#666}

.form-area{padding:60px 280px;background:#fff}
.form-area form{display:flex;flex-direction:column;gap:24px}
.form-area fieldset{display:flex;flex-direction:column;gap:24px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-label{display:flex;align-items:center;gap:8px}
.form-label__text{font-size:14px;font-weight:500;color:#333}
.form-label__req{display:inline-flex;padding:2px 8px;border-radius:4px;background:#9e9e9e;color:#fff;font-size:10px;font-weight:600}
.form-input{height:48px;padding:0 16px;border-radius:6px;background:#e8e8e8;border:1px solid #ccc;font-size:14px;font-family:'Inter',sans-serif;color:#333;outline:none;transition:border-color .2s}
.form-input:focus{border-color:#9e9e9e}
.form-input::placeholder{color:#999}
.form-textarea{height:160px;padding:16px;border-radius:6px;background:#e8e8e8;border:1px solid #ccc;font-size:14px;font-family:'Inter',sans-serif;color:#333;outline:none;resize:vertical;transition:border-color .2s}
.form-textarea:focus{border-color:#9e9e9e}
.form-textarea::placeholder{color:#999}
.check-row{display:flex;align-items:center;gap:12px}
.check-row input[type="checkbox"]{width:20px;height:20px;accent-color:#9e9e9e;cursor:pointer}
.check-row__text{font-size:14px;color:#666}
.check-row__req{display:inline-flex;padding:2px 8px;border-radius:4px;background:#9e9e9e;color:#fff;font-size:10px;font-weight:600}
.priv-note{font-size:12px;color:#888;line-height:1.6}
.submit-btn{display:flex;align-items:center;justify-content:center;width:100%;height:56px;border-radius:6px;background:#9e9e9e;color:#fff;font-size:16px;font-weight:600;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:background .2s}
.submit-btn:hover{background:#888}
.submit-btn:disabled{opacity:.5;cursor:not-allowed}

/* ---------- preparing page ---------- */
.preparing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:100px 40px 120px;text-align:center}
.preparing__title{font-size:24px;font-weight:700;color:#333}
.preparing__text{font-size:15px;color:#666;line-height:1.8}

/* ---------- form disabled banner ---------- */
.form-disabled-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:8px;background:#fff8e1;border:1px solid #ffe082;font-size:13px;color:#6d5600;line-height:1.6}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .header{padding:0 40px}
  .hero{padding:80px 40px 60px}
  .hero__headline{font-size:36px}
  .section{padding:60px 40px}
  .mv{padding:60px 40px;flex-direction:column}
  .cta-section{padding:60px 40px}
  .footer{padding:40px}
  .footer__top{flex-direction:column;gap:40px}
  .team-grid{padding:40px}
  .team-row--narrow{padding:0}
  .form-area{padding:40px}
}

@media(max-width:768px){
  .header{padding:0 20px;height:60px}
  .header__logo-img{height:26px}
  .header__nav{display:none}
  .header__menu-btn{display:flex}
  .hero{padding:60px 20px 40px}
  .hero__headline{font-size:28px}
  .hero__subline{font-size:15px}
  .hero__ctas{flex-direction:column;width:100%}
  .btn--primary,.btn--secondary{width:100%;justify-content:center}
  .section{padding:40px 20px}
  .cards{flex-direction:column}
  .mv{padding:40px 20px;gap:24px}
  .cta-section{padding:40px 20px}
  .cta-section__title{font-size:24px}
  .footer{padding:30px 20px}
  .footer__nav{flex-direction:column;gap:24px}
  .team-hero{padding:40px 20px}
  .team-grid{padding:20px}
  .team-row{flex-direction:column}
  .team-row--narrow{padding:0}
  .contact-hero{padding:40px 20px}
  .form-area{padding:30px 20px}
}

/* ---------- hamburger (mobile) ---------- */
.header__menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.header__menu-btn span{display:block;width:24px;height:2px;background:#333;transition:transform .2s}
.mobile-nav{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:#fff;z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:32px}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:18px;color:#333;text-decoration:none;font-weight:500}

@media(max-width:768px){
  .header__menu-btn{display:flex}
}
