*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,'Noto Sans KR',sans-serif;color:#12231a;background:#f7fbf7;line-height:1.65}a{text-decoration:none;color:inherit}img,video{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;background:rgba(247,251,247,.88);backdrop-filter:blur(18px);border-bottom:1px solid #dfeee2}.brand{display:flex;gap:12px;align-items:center;font-weight:900;font-size:20px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#0c8f4f,#8dd84f);color:#fff}.site-nav{display:flex;gap:28px;align-items:center;font-weight:700}.site-nav a{color:#365043}.site-nav a.active,.site-nav a:hover{color:#0d8c4d}.nav-cta{padding:10px 18px;background:#112d20;color:#fff!important;border-radius:999px}.nav-toggle{display:none;background:#112d20;color:#fff;border:0;border-radius:10px;padding:10px 13px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:84px 6vw 56px;min-height:720px;background:radial-gradient(circle at 85% 10%,#d8ffc5 0,#f7fbf7 36%),linear-gradient(180deg,#f7fbf7,#edf9ee)}.eyebrow{letter-spacing:.18em;font-weight:900;color:#0d8c4d;font-size:13px}.hero h1,.page-hero h1{font-size:clamp(42px,6vw,76px);line-height:1.05;margin:12px 0 22px;letter-spacing:-.05em}.hero-text{font-size:20px;color:#496357;max-width:680px}.hero-actions{display:flex;gap:14px;margin:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:900}.btn.primary{background:#0d8c4d;color:#fff;box-shadow:0 16px 30px rgba(13,140,77,.25)}.btn.ghost{border:1px solid #bfd8c4;color:#123}.hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero-stats span{background:#fff;border:1px solid #dbeade;border-radius:18px;padding:12px 16px;box-shadow:0 10px 26px rgba(0,0,0,.04)}.hero-stats b{color:#0d8c4d}.hero-visual{position:relative}.hero-media,.visual-placeholder{width:100%;height:520px;object-fit:cover;border-radius:36px;box-shadow:0 30px 80px rgba(24,62,40,.18);background:#102c1e}.visual-placeholder{display:grid;place-items:center;text-align:center;color:#fff;padding:40px;background:linear-gradient(135deg,#0e4d31,#86cf55)}.visual-placeholder span{font-size:14px;letter-spacing:.2em}.visual-placeholder strong{font-size:34px}.section{padding:72px 6vw}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.intro-grid article,.glass-card,.media-card,.contact-form,.contact-info,.solution-list article,.timeline article{background:#fff;border:1px solid #dfeee2;border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(16,66,37,.06)}.intro-grid .num,.solution-list span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e8f8e6;color:#0d8c4d;font-weight:900}.split{display:grid;grid-template-columns:1fr .55fr;gap:28px;align-items:center}.split h2,.section-head h2{font-size:42px;line-height:1.12;letter-spacing:-.04em;margin:.2em 0}.check-list{padding-left:0;list-style:none}.check-list li{margin:10px 0;padding-left:28px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:#0d8c4d;font-weight:900}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.link{color:#0d8c4d;font-weight:900}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.media-grid.large{grid-template-columns:repeat(2,1fr)}.media-card{overflow:hidden;padding:0}.media-card>div{padding:22px}.media-card h2,.media-card h3{margin:0 0 8px;line-height:1.35}.media-card p{color:#587166;margin:0}.media-thumb{width:100%;height:260px;object-fit:cover;background:#0f2c1e}.badge{font-size:12px;font-weight:900;color:#0d8c4d}.empty{grid-column:1/-1;background:#fff;border-radius:20px;padding:30px}.cta-band{margin:40px 6vw 80px;padding:54px;border-radius:34px;text-align:center;color:#fff;background:linear-gradient(135deg,#0d8c4d,#102d20)}.cta-band h2{font-size:38px;margin:0 0 10px}.page-hero.small{padding:90px 6vw 60px;background:linear-gradient(135deg,#e9fae8,#f7fbf7)}.page-hero.small h1{font-size:clamp(38px,5vw,64px)}.prose{max-width:980px}.prose h2{font-size:42px;line-height:1.15}.solution-list,.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.filter-tabs{display:flex;gap:10px;margin-bottom:26px}.filter-tabs a{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid #dfeee2;font-weight:900}.filter-tabs a.active{background:#0d8c4d;color:#fff}.contact-wrap{display:grid;grid-template-columns:1fr .55fr;gap:24px}.contact-form label{display:block;font-weight:800;margin-bottom:16px}.contact-form input,.contact-form textarea{width:100%;margin-top:8px;padding:14px 16px;border:1px solid #cfdfd4;border-radius:14px;font:inherit}.complete-box{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px}.site-footer{display:grid;grid-template-columns:1.2fr 1fr .3fr;gap:20px;padding:42px 6vw;background:#102d20;color:#d7eadc}.site-footer a{color:#fff;font-weight:900}@media(max-width:900px){.site-nav{display:none;position:absolute;right:6vw;top:72px;flex-direction:column;background:#fff;border:1px solid #dfeee2;border-radius:22px;padding:20px;box-shadow:0 20px 50px #0002}.site-nav.open{display:flex}.nav-toggle{display:block}.hero,.split,.contact-wrap{grid-template-columns:1fr}.intro-grid,.media-grid,.media-grid.large,.solution-list,.timeline{grid-template-columns:1fr}.hero{padding-top:60px}.hero-media,.visual-placeholder{height:360px}.site-footer{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.hero-stats{flex-direction:column}}
/* =========================================================
   9:16 세로 이미지 PC 표시 개선 패치
   - 세로 홍보이미지가 PC에서 잘리지 않도록 object-fit: contain 적용
   - 카드형 테두리, 여백, 그림자, 배경을 추가해 보기 좋게 표시
   ========================================================= */
.hero-media{
    object-fit:contain!important;
    object-position:center!important;
    padding:14px;
    border:1px solid rgba(13,140,77,.22);
    background:linear-gradient(135deg,#ffffff,#eef9f0)!important;
}
.media-card{
    position:relative;
    overflow:hidden;
    padding:10px!important;
    border:1px solid rgba(13,140,77,.22)!important;
    background:linear-gradient(180deg,#ffffff 0%,#f6fbf7 100%)!important;
    box-shadow:0 22px 58px rgba(16,66,37,.09)!important;
}
.media-card:before{
    content:'';
    position:absolute;
    inset:0 0 auto 0;
    height:5px;
    background:linear-gradient(90deg,#0d8c4d,#8dd84f,#0d8c4d);
    opacity:.9;
}
.media-frame{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin:0;
    padding:14px;
    overflow:hidden;
    border-radius:24px;
    border:1px solid #cfe7d5;
    background:
        radial-gradient(circle at 15% 10%,rgba(141,216,79,.18),transparent 35%),
        linear-gradient(135deg,#ffffff,#edf8f0);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 14px 34px rgba(16,66,37,.08);
}
.media-frame:after{
    content:'';
    position:absolute;
    inset:9px;
    pointer-events:none;
    border-radius:18px;
    border:1px solid rgba(13,140,77,.13);
}
.media-grid .media-frame{
    height:420px;
}
.media-grid.large .media-frame{
    height:620px;
}
.media-frame.is-landscape{
    height:340px;
}
.media-grid.large .media-frame.is-landscape{
    height:440px;
}
.media-frame.is-square{
    height:430px;
}
.media-grid.large .media-frame.is-square{
    height:520px;
}
.media-frame.is-portrait{
    min-height:560px;
    height:clamp(560px,58vw,760px);
}
.media-grid.large .media-frame.is-portrait{
    min-height:720px;
    height:clamp(720px,72vw,900px);
}
.media-thumb{
    position:relative;
    z-index:1;
    width:100%!important;
    height:100%!important;
    max-width:100%;
    max-height:100%;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 26px rgba(16,66,37,.10);
}
.media-thumb.is-portrait{
    width:auto!important;
    height:100%!important;
    max-width:100%;
}
.media-thumb.is-landscape,
.media-thumb.is-square{
    width:100%!important;
    height:100%!important;
}
.media-card>div{
    padding:20px 16px 14px!important;
}
.media-card h2,.media-card h3{
    color:#102d20;
    letter-spacing:-.03em;
}
.media-card p{
    font-size:15px;
    color:#587166;
}
.badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:8px;
    padding:5px 10px;
    border-radius:999px;
    background:#e9f8ec;
    color:#0d8c4d!important;
}
@media(max-width:900px){
    .hero-media{height:auto;max-height:none;padding:8px;border-radius:24px}
    .media-card{padding:8px!important;border-radius:24px}
    .media-grid .media-frame,
    .media-grid.large .media-frame,
    .media-frame.is-landscape,
    .media-frame.is-square,
    .media-frame.is-portrait,
    .media-grid.large .media-frame.is-landscape,
    .media-grid.large .media-frame.is-square,
    .media-grid.large .media-frame.is-portrait{
        height:auto;
        min-height:0;
        aspect-ratio:auto;
    }
    .media-thumb,
    .media-thumb.is-portrait,
    .media-thumb.is-landscape,
    .media-thumb.is-square{
        width:100%!important;
        height:auto!important;
        max-height:none;
    }
}
