/* Tablet */
@media (max-width: 1024px) {
  .inner {max-width: calc(100% - 48px); }
  .section {padding: 90px 0; }
  .nav {display: none; }
  .header {height: 70px; }
  .logo svg {width: 180px; height: auto; }
  .hero {height: 100vh; min-height: 620px; }
  .hero .inner {height: 100%; }
  .hero h1 {font-size: 54px; }
  .hero p {font-size: 17px; }
  .sec-title {font-size: 34px; }
  .about-wrap, .tech-wrap, .contact-wrap {grid-template-columns: 1fr; gap: 48px; }
  .about-photo {height: 360px; }
  .business-cards {height: auto; flex-direction: column; gap: 16px; }
  .business-card {height: 300px; flex: none; }
  .business-cards.is-active .business-card {flex: none; }
  .business-cards.is-active .business-card.active {flex: none; }
  .business-card small, .business-card p {opacity: 1; transform: none; }
  .business-card h3 {white-space: normal; }
  .business-cards.is-active .business-card.active h3 {font-size: 28px; }
  .product-grid {grid-template-columns: repeat(2, 1fr); }
  .tech-wrap {gap: 45px; }
  .partner-grid {grid-template-columns: repeat(2, 1fr); }
  .partner-wall {grid-template-columns: repeat(2, 1fr); }
  .contact-section {grid-template-columns: 1fr; }
  .contact-bg-wrap {grid-template-columns: 1fr; gap: 42px; min-height: auto; }
  .contact-copy {max-width: 100%; }
  .contact-form-card {max-width: 620px; }
}

/* Mobile */
@media (max-width: 640px) {
  .inner {max-width: calc(100% - 30px); }
  .section {padding: 70px 0; }
  .header {height: 64px; }
  .header .inner {max-width: calc(100% - 30px); }
  .logo {font-size: 21px; }
  .logo svg {width: 150px; height: auto; }
  .logo-mark {width: 20px; height: 20px; }
  .lang-current {min-width: 56px; height: 28px; font-size: 12px; }
  .hero {height: 100vh; min-height: 560px; background: #061f3d url("/img/main_bg.jpg") center/cover no-repeat; }
  .hero-video {display: none; }
  .hero .inner {height: 100%; justify-content: center; text-align: center; }
  .hero-text {max-width: 100%; margin: 0 auto; padding-top: 0; text-align: center; }
  .hero-label {font-size: 12px; margin-bottom: 15px; letter-spacing: 0.12em; }
  .hero h1 {font-size: 36px; line-height: 1.22; letter-spacing: -0.055em; }
  .hero p {margin-top: 22px; font-size: 15px; line-height: 1.75; }
  .hero .btn {min-width: 132px; height: 44px; margin-top: 28px; font-size: 14px; }
  .sec-label {font-size: 12px; margin-bottom: 10px; }
  .sec-title {font-size: 28px; line-height: 1.35; }
  .sec-desc {margin-top: 16px; font-size: 15px; line-height: 1.75; }
  .about-wrap, .contact-wrap {gap: 35px; }
  .about-photo {height: 240px; }
  .about-badges {margin-top: 24px; gap: 8px; }
  .badge {min-height: 42px; padding: 0 14px; font-size: 13px; }
  .contact-quick {grid-template-columns: 1fr; gap: 10px; }
  .contact-card {padding: 18px; }
  .business-cards {gap: 14px; margin-top: 36px; }
  .business-card {height: 240px; flex: none; }
  .business-cards.is-active .business-card {flex: none; }
  .business-cards.is-active .business-card.active {flex: none; }
  .business-card-content {left: 50%; top: 50%; bottom: auto; width: 100%; padding: 0 22px; text-align: center; transform: translate(-50%, -50%); }
  .business-card small, .business-card p {opacity: 1; transform: none; }
  .business-card small {font-size: 12px; margin-bottom: 10px; }
  .business-card h3 {font-size: 23px; white-space: normal; }
  .business-cards.is-active .business-card.active h3 {font-size: 23px; }
  .business-card p {font-size: 14px; line-height: 1.65; }
  .product-grid {grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 34px; }
  .product-card {height: 190px; padding: 18px; }
  .product-card h3 {font-size: 16px; line-height: 1.15; }
  .product-card h3::after {margin-top: 9px; }
  .product-card p {font-size: 12px; line-height: 1.5; }
  .product-card img {right: 4px; max-height: 125px; }
  .tech-grid {grid-template-columns: 1fr; }
  .tech-item {min-height: 125px; padding: 24px; }
  .tech-item h3 {font-size: 23px; }
  .tech-item p {font-size: 14px; }
  .partners {padding: 70px 0; }
  .partner-grid {grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .partner-wall {grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 34px; }
  .partner-item {height: 82px; border-radius: 12px; padding: 12px; }
  .partner-item img {max-height: 46px; }
  #contact {padding: 70px 0; }
  #contact::before {background: linear-gradient(rgba(7,27,53,0.84), rgba(7,27,53,0.76)), url("/img/contact_bg.jpg") center/cover no-repeat; }
  .contact-bg-wrap {gap: 34px; }
  .contact-copy {text-align: center; }
  .contact-copy h2 {font-size: 36px; line-height: 1.22; }
  .contact-copy p {font-size: 15px; line-height: 1.75; }
  .contact-direct {margin-top: 30px; text-align: left; }
  .contact-direct-row {display: block; padding-bottom: 14px; }
  .contact-direct-row strong {display: block; width: auto; margin-bottom: 6px; }
  .contact-direct-row span, .contact-direct-row a {font-size: 16px; }
  .contact-form-card {padding: 24px; border-radius: 14px; }
  .contact-form-card h3 {font-size: 25px; }
  .contact-form-card p {font-size: 14px; }
  .contact-form-row {margin-bottom: 14px; }
  .contact-form-row input, .contact-form-row textarea {border-radius: 8px; }
  .contact-form-row textarea {height: 140px; }
  .contact-submit-btn {height: 52px; border-radius: 8px; font-size: 16px; }
  .contact-side {padding: 28px; border-radius: 16px; }
  .contact-form-wrap {padding: 24px; border-radius: 16px; }
  .contact-mini-item {display: block; padding: 16px 0; }
  .contact-mini-item strong {display: block; min-width: auto; margin-bottom: 6px; }
  .contact-value {font-size: 17px; }
  .chat-btn {right: 16px; bottom: 16px; padding: 11px 15px; font-size: 13px; }
  .footer {padding: 44px 0 34px; text-align: center; }
  .footer .logo {justify-content: center; }
  .footer-info {font-size: 12px; line-height: 1.8; }
  .copy {margin-top: 28px; padding-top: 18px; }
}

/* Small Mobile */
@media (max-width: 420px) {
  .hero h1 {font-size: 32px; }
  .hero p {font-size: 14px; }
  .sec-title {font-size: 26px; }
  .product-grid {grid-template-columns: 1fr; }
  .product-card {height: 210px; }
  .product-card h3 {font-size: 18px; }
  .product-card img {max-height: 145px; }
  .partner-wall {grid-template-columns: 1fr; }
  .partner-grid {grid-template-columns: 1fr; }
  .contact-copy h2 {font-size: 32px; }
}

@media(max-width:1024px){
  .kocean-inner{width:min(100% - 40px,1280px);}
  .kocean-sub-visual{height:340px;}
  .kocean-sub-visual h2{font-size:42px;}
  .kocean-sub-desc{font-size:17px;}
  .kocean-about-sec{padding:75px 0 80px;}
  .kocean-about-intro{grid-template-columns:1fr; gap:45px;}
  .kocean-about-text h4{font-size:34px;}
  .kocean-about-photo img{height:360px;}
  .kocean-info-grid{grid-template-columns:1fr; margin-top:70px;}
  .kocean-merit-sec{padding:85px 0 60px;}
  .kocean-merit-title h3{font-size:34px;}
  .kocean-merit-list{grid-template-columns:repeat(2,1fr); margin-top:70px;}
}

@media(max-width:640px){
  .kocean-inner{width:min(100% - 28px,1280px);}
  .kocean-sub-visual{height:auto; min-height:390px; padding:90px 0 44px;}
  .kocean-sub-visual h2{font-size:34px;}
  .kocean-sub-desc{font-size:15px;}
  .kocean-sub-tab{gap:7px;}
  .kocean-sub-tab li a{min-width:auto; padding:9px 13px; font-size:12px;}
  .kocean-sec-head{margin-bottom:45px;}
  .kocean-sec-head h3{font-size:25px;}
  .kocean-about-text h4{font-size:29px;}
  .kocean-about-text p{font-size:15px;}
  .kocean-about-photo img{height:270px;}
  .kocean-info-item{grid-template-columns:1fr; gap:7px; padding:18px 0;}
  .kocean-info-item span{padding-left:18px;}
  .kocean-merit-title h3{font-size:29px;}
  .kocean-merit-list{grid-template-columns:1fr; gap:14px; margin-top:50px;}
  .kocean-merit-card{min-height:auto; padding:26px 22px;}
}

@media(max-width:1024px){
  .kocean-location-info{grid-template-columns:repeat(2,1fr);}
  .kocean-location-item:nth-child(2){border-right:0;}
  .kocean-location-item:nth-child(1),.kocean-location-item:nth-child(2){border-bottom:1px solid #e8edf3;}
}

@media(max-width:640px){
  .kocean-location-sec{padding:70px 0 80px;}
  .kocean-map-box{min-height:auto; border-radius:14px;}
  .kocean-map-box img{height:360px;}
  .kocean-map-card{position:relative; left:auto; bottom:auto; width:100%; min-height:auto; padding:26px 24px;}
  .kocean-map-card span{margin-bottom:18px;}
  .kocean-location-info{grid-template-columns:1fr;}
  .kocean-location-item{border-right:0; border-bottom:1px solid #e8edf3;}
  .kocean-location-item:last-child{border-bottom:0;}
  .kocean-map-btns{flex-direction:column;}
  .kocean-map-btns a{width:100%;}
}

@media(max-width:1024px){
  .kocean-location-panel{grid-template-columns:1fr; gap:28px;}
  .kocean-location-links{flex-direction:row;}
}
@media(max-width:640px){
  .kocean-location-panel{padding:26px 22px; border-radius:14px;}
  .kocean-location-main h4{font-size:19px;}
  .kocean-location-contact dl{grid-template-columns:72px 1fr;}
  .kocean-location-contact dd{font-size:15px;}
  .kocean-location-links{flex-direction:column;}
  .kocean-location-links a{width:100%;}
}