/* Home */
.company-intro-full{width:100%;margin:0;padding:0;overflow:hidden;line-height:0}
.company-intro-full img{display:block;width:100%;height:auto;margin:0}

.vision-section{position:relative;min-height:480px;display:grid;place-items:center;text-align:center;color:#173052;background:linear-gradient(180deg,#d9e9f8 0%,#edf4fa 28%,#fffaf1 72%,#f8ead9 100%)}
.vision-copy{width:min(960px,calc(100% - 40px));margin:0 auto;padding:80px 20px}
.vision-copy h2{margin:0 0 18px;font-size:clamp(34px,5vw,56px);line-height:1.3;color:#173052}
.vision-copy>p{max-width:760px;margin:0 auto;font-size:19px;line-height:1.8;color:#40546c}
.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.vision-item{padding:27px 20px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.95);border-radius:18px;box-shadow:0 14px 35px rgba(23,48,82,.1);backdrop-filter:blur(7px)}
.vision-item strong{display:block;margin-bottom:8px;font-size:22px;color:#173052}
.vision-item span{color:#53667b}

.home-hero{
    position:relative;
    min-height:640px;
    display:grid;
    place-items:center;
    padding:90px 20px;
    text-align:center;
    color:#173052;
    overflow:hidden;
}
.home-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:url("/images/home/vision-bg.webp") center center/cover no-repeat;
    transform:scale(1.01);
    z-index:0;
}

.home-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(255,255,255,.08);
    z-index:0;
}

.home-hero>*{
    position:relative;
    z-index:1;
}
.home-hero .hero-content{width:min(850px,100%);margin:0 auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.home-hero h1{margin:0 0 22px;font-size:clamp(40px,6vw,68px);line-height:1.2;color:#173052;text-shadow:0 2px 12px rgba(255,255,255,.45)}
.home-hero p{max-width:720px;margin:0 auto 32px;font-size:clamp(17px,2vw,21px);line-height:1.8;color:#40546c;text-shadow:0 1px 8px rgba(255,255,255,.35)}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.home-hero .btn-primary{background:#173052;color:#fff}
.home-hero .btn-primary:hover{background:#0c213d}
.home-hero .btn-outline{background:rgba(255,255,255,.72);border-color:#173052;color:#173052}
.home-hero .btn-outline:hover{background:#173052;color:#fff}

/* Greeting */
.greeting-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}
.director-photo img{width:100%;border-radius:22px;box-shadow:var(--shadow)}
.greeting-copy h2{font-size:36px;margin-top:0}
.greeting-copy p{font-size:18px;color:#4f554d}
.signature{margin-top:38px;text-align:right;font-size:22px;font-weight:800}
.profile-box{margin-top:30px;padding:32px;background:#f8f9f6;border-radius:18px}
.profile-box h3{margin:0 0 20px;font-size:24px;color:#173052}
.career-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px}
.career-list li{position:relative;padding-left:22px;font-size:16px;line-height:1.7;color:#444}
.career-list li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;background:#78963f}
.career-list strong{display:inline-block;width:28px;color:#78963f;font-weight:800}

/* Experts */
.expert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.expert-card{overflow:hidden}
.expert-card img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#e8edde}
.expert-body{padding:24px}
.expert-body h2{margin:0 0 5px;font-size:25px}
.expert-role{color:var(--primary-dark);font-weight:800;margin-bottom:14px}
.expert-body ul{padding-left:20px;color:var(--muted);margin:0}

/* Services */
.service-list{display:grid;gap:34px}
.service-item{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.service-item:nth-child(even) .service-image{order:2}
.service-image img{width:100%;height:100%;min-height:330px;object-fit:cover}
.service-copy{padding:46px;display:flex;flex-direction:column;justify-content:center}
.service-copy .number{font-size:14px;font-weight:900;color:var(--primary);letter-spacing:.12em}
.service-copy h2{font-size:32px;margin:8px 0 14px}
.service-copy p{color:var(--muted);margin:0}

/* Location */
.location-grid{display:grid;grid-template-columns:380px 1fr;gap:40px;align-items:stretch}
.info-panel,.map-panel{min-height:500px}
.info-panel{padding:32px}
.info-panel dl{margin:0}
.info-panel dt{font-weight:900;margin-top:18px;color:var(--primary-dark)}
.info-panel dd{margin:4px 0 0;color:var(--muted)}
.map-panel{padding:0;overflow:hidden;border-radius:18px}
.map-panel img{width:100%;height:100%;object-fit:cover;display:block}
.map-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}

/* Consultation */
.consult-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px}
.consult-info{padding:34px;background:linear-gradient(160deg,#698533,#8eaa57);color:#fff;border-radius:var(--radius)}
.consult-info h2{font-size:32px;margin-top:0}
.consult-form{padding:36px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{grid-column:1/-1}
.form-field label{font-weight:800}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #cfd5cb;border-radius:10px;padding:13px 14px;background:#fff}
.form-field textarea{min-height:180px;resize:vertical}
.agreement{display:flex;gap:10px;align-items:flex-start;margin:22px 0}
.form-message{display:none;margin-top:15px;padding:14px;border-radius:10px}
.form-message.show{display:block}
.form-message.error{background:#fff0f0;color:#a82d2d}
.form-message.success{background:#eff8e7;color:#496b20}

/* Responsive */
@media(max-width:900px){
  .vision-grid,.expert-grid{grid-template-columns:1fr 1fr}
  .greeting-layout,.location-grid,.consult-layout{grid-template-columns:1fr}
  .service-item{grid-template-columns:1fr}
  .service-item:nth-child(even) .service-image{order:0}
.career-list{grid-template-columns:1fr}
}

@media(max-width:700px){
  .vision-section{min-height:auto}
  .vision-copy{padding:65px 14px}
  .vision-grid{grid-template-columns:1fr}
  .home-hero{min-height:590px;padding:65px 16px;background-position:72% center}
  .home-hero .hero-content{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
}

@media(max-width:620px){
  .expert-grid,.form-grid{grid-template-columns:1fr}
  .service-copy{padding:30px 24px}
  .service-image img{min-height:230px}
  .consult-form{padding:25px 20px}
}
