
/* 다산퍼스 서브페이지 공통 CSS - generated */
.dasan-page { background:#fff; }
.dasan-page * { box-sizing:border-box; }
.dasan-wrap, .dasan-inner { width:calc(100% - 40px); max-width:1400px; margin:0 auto; }
.dasan-section { padding:96px 0; }
.dasan-section:first-child { padding-top:80px; }
.dasan-kicker { display:block; margin-bottom:14px; color:#1646a0; font-size:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.dasan-title { margin:0; color:#111; font-size:42px; line-height:1.22; font-weight:700; letter-spacing:-.055em; word-break:keep-all; }
.dasan-title strong { color:#1646a0; font-weight:700; }
.dasan-lead { margin:22px 0 0; color:#333; font-size:19px; line-height:1.78; font-weight:400; letter-spacing:-.04em; word-break:keep-all; }
.dasan-text { color:#444; font-size:17px; line-height:1.86; letter-spacing:-.035em; word-break:keep-all; }
.dasan-muted { color:#777; }
.dasan-blue { color:#1646a0; }
.dasan-head { margin-bottom:46px; }
.dasan-head.center { text-align:center; max-width:920px; margin-left:auto; margin-right:auto; }
.dasan-split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.dasan-split.reverse .das-img-box { order:2; }
.dasan-img-box { position:relative; overflow:hidden; background:#f3f5f8; }
.dasan-img-box img { display:block; width:100%; height:100%; object-fit:cover; }
.dasan-img-box.ratio-4-3 { aspect-ratio:4/3; }
.dasan-img-box.ratio-16-9 { aspect-ratio:16/9; }
.dasan-img-box.ratio-tall { aspect-ratio:4/5; }
.dasan-grid { display:grid; gap:26px; }
.dasan-grid.col2 { grid-template-columns:repeat(2,1fr); }
.dasan-grid.col3 { grid-template-columns:repeat(3,1fr); }
.dasan-grid.col4 { grid-template-columns:repeat(4,1fr); }
.dasan-card { position:relative; padding:34px; background:#fff; border:1px solid #e8edf4; box-shadow:0 18px 50px rgba(15,30,55,.06); }
.dasan-card.no-pad { padding:0; overflow:hidden; }
.dasan-card h3 { margin:0 0 16px; color:#111; font-size:24px; line-height:1.35; font-weight:700; letter-spacing:-.045em; }
.dasan-card p { margin:0; color:#555; font-size:16px; line-height:1.75; letter-spacing:-.035em; word-break:keep-all; }
.dasan-card .num { display:block; margin-bottom:18px; color:#1646a0; font-size:42px; line-height:1; font-weight:700; letter-spacing:-.045em; }
.dasan-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:44px; }
.dasan-stat { padding:28px 22px; background:#f6f8fb; border-left:4px solid #1646a0; }
.dasan-stat strong { display:block; color:#1646a0; font-size:34px; line-height:1; font-weight:700; letter-spacing:-.04em; }
.dasan-stat span { display:block; margin-top:12px; color:#333; font-size:15px; line-height:1.45; letter-spacing:-.03em; }
.dasan-info-table { width:100%; border-top:2px solid #111; }
.dasan-info-row { display:grid; grid-template-columns:180px 1fr; border-bottom:1px solid #e5e5e5; }
.dasan-info-row strong { padding:18px 20px; background:#f7f8fa; color:#111; font-size:16px; font-weight:700; }
.dasan-info-row span { padding:18px 22px; color:#444; font-size:16px; line-height:1.6; }
.dasan-timeline { position:relative; padding-left:34px; border-left:2px solid #d9e1ec; }
.dasan-time-item { position:relative; display:grid; grid-template-columns:120px 1fr; gap:28px; padding:0 0 30px; }
.dasan-time-item:before { content:""; position:absolute; left:-42px; top:4px; width:14px; height:14px; border-radius:50%; background:#1646a0; border:4px solid #eaf0fa; }
.dasan-time-item:last-child { padding-bottom:0; }
.dasan-year { color:#1646a0; font-size:28px; line-height:1; font-weight:700; }
.dasan-time-body { color:#444; font-size:16px; line-height:1.7; }
.dasan-time-body b { display:block; margin-bottom:6px; color:#111; font-weight:700; }
.dasan-process { counter-reset:process; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.dasan-process-card { position:relative; min-height:220px; padding:30px 22px; background:#f6f8fb; border:1px solid #e4ebf4; }
.dasan-process-card:before { counter-increment:process; content:"0"counter(process); display:block; margin-bottom:20px; color:#1646a0; font-size:32px; font-weight:700; }
.dasan-process-card h3 { margin:0 0 12px; color:#111; font-size:22px; font-weight:700; letter-spacing:-.04em; }
.dasan-process-card p { margin:0; color:#555; font-size:15px; line-height:1.68; letter-spacing:-.03em; }
.dasan-value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.dasan-value-card { min-height:260px; padding:42px 34px; color:#fff; background:#1646a0; }
.dasan-value-card:nth-child(2) { background:#0f347c; }
.dasan-value-card:nth-child(3) { background:#111; }
.dasan-value-card em { display:block; margin-bottom:24px; font-style:normal; color:rgba(255,255,255,.7); font-size:14px; letter-spacing:.18em; text-transform:uppercase; }
.dasan-value-card h3 { margin:0 0 16px; font-size:32px; line-height:1.2; font-weight:700; letter-spacing:-.045em; }
.dasan-value-card p { margin:0; color:rgba(255,255,255,.86); font-size:16px; line-height:1.75; letter-spacing:-.035em; }
.dasan-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dasan-gallery-item { position:relative; overflow:hidden; background:#f4f4f4; aspect-ratio:4/3; }
.dasan-gallery-item.tall { aspect-ratio:3/4; }
.dasan-gallery-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.dasan-gallery-item:hover img { transform:scale(1.045); }
.dasan-gallery-caption { position:absolute; left:18px; right:18px; bottom:16px; display:inline-flex; width:auto; color:#fff; font-size:15px; font-weight:700; text-shadow:0 2px 12px rgba(0,0,0,.35); letter-spacing:-.03em; }
.dasan-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.dasan-product-card { background:#fff; border:1px solid #e8edf4; overflow:hidden; }
.dasan-product-thumb { aspect-ratio:4/3; background:#f5f5f5; overflow:hidden; }
.dasan-product-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.dasan-product-body { padding:28px; }
.dasan-product-body h3 { margin:0 0 12px; font-size:24px; font-weight:700; color:#111; letter-spacing:-.04em; }
.dasan-product-body p { margin:0; font-size:16px; color:#555; line-height:1.72; letter-spacing:-.035em; }
.dasan-cert-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.dasan-cert-card { background:#fff; border:1px solid #e6eaf0; overflow:hidden; }
.dasan-cert-img { aspect-ratio:3/4; background:#f7f8fa; display:flex; align-items:center; justify-content:center; padding:14px; }
.dasan-cert-img img { max-width:100%; max-height:100%; object-fit:contain; display:block; }
.dasan-cert-title { padding:18px 16px; color:#111; font-size:15px; font-weight:700; text-align:center; letter-spacing:-.035em; }
.dasan-list { margin:24px 0 0; padding:0; list-style:none; }
.dasan-list li { position:relative; padding:8px 0 8px 18px; color:#444; font-size:16px; line-height:1.65; letter-spacing:-.035em; }
.dasan-list li:before { content:""; position:absolute; left:0; top:20px; width:6px; height:6px; border-radius:50%; background:#1646a0; }
.dasan-performance { width:100%; border-collapse:collapse; border-top:2px solid #111; }
.dasan-performance th, .dasan-performance td { padding:16px 14px; border-bottom:1px solid #e5e5e5; text-align:left; vertical-align:top; color:#444; font-size:15px; line-height:1.55; letter-spacing:-.03em; }
.dasan-performance th { background:#f7f8fa; color:#111; font-weight:700; }
.dasan-contact-box { display:grid; grid-template-columns:1fr 1.15fr; gap:44px; align-items:stretch; }
.dasan-contact-info { padding:46px; background:#f6f8fb; }
.dasan-contact-info h3 { margin:0 0 24px; font-size:32px; font-weight:700; letter-spacing:-.045em; color:#111; }
.dasan-contact-info dl { margin:0; }
.dasan-contact-info div { display:grid; grid-template-columns:110px 1fr; gap:18px; padding:16px 0; border-bottom:1px solid #e0e6ef; }
.dasan-contact-info dt { color:#111; font-weight:700; }
.dasan-contact-info dd { margin:0; color:#444; }
.dasan-map iframe { display:block; width:100%; min-height:430px; height:100%; border:0; }
.dasan-form-note { margin-top:24px; padding:22px 24px; background:#1646a0; color:#fff; font-size:16px; line-height:1.7; letter-spacing:-.035em; }
.dasan-bg-soft { background:#f7f9fc; }
.dasan-quote { padding:44px; border-left:6px solid #1646a0; background:#f7f9fc; color:#222; font-size:24px; line-height:1.65; font-weight:500; letter-spacing:-.045em; }
@media (max-width:1100px){
    .dasan-split,.dasan-contact-box{grid-template-columns:1fr;gap:42px;}
    .dasan-stat-grid,.dasan-cert-grid{grid-template-columns:repeat(2,1fr);}
    .dasan-process{grid-template-columns:repeat(2,1fr);}
    .dasan-product-grid,.dasan-gallery,.dasan-value-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
    .dasan-wrap, .dasan-inner{width:calc(100% - 32px);}
    .dasan-section{padding:64px 0;}
    .dasan-section:first-child{padding-top:56px;}
    .dasan-title{font-size:30px;}
    .dasan-lead{font-size:16px;line-height:1.72;}
    .dasan-head{margin-bottom:34px;}
    .dasan-grid.col2,.dasan-grid.col3,.dasan-grid.col4,.dasan-stat-grid,.dasan-cert-grid,.dasan-process,.dasan-product-grid,.dasan-gallery,.dasan-value-grid{grid-template-columns:1fr;}
    .dasan-card{padding:28px 24px;}
    .dasan-info-row{grid-template-columns:112px 1fr;}
    .dasan-info-row strong,.dasan-info-row span{padding:15px 12px;font-size:14px;}
    .dasan-time-item{grid-template-columns:1fr;gap:10px;}
    .dasan-year{font-size:24px;}
    .dasan-process-card{min-height:auto;}
    .dasan-contact-info{padding:32px 24px;}
    .dasan-contact-info div{grid-template-columns:90px 1fr;font-size:14px;}
    .dasan-performance{display:block;overflow-x:auto;white-space:nowrap;}
}

/* =========================================
   상담문의 폼
   ========================================= */
.dasan-contact-section { background:#fff; }
.dasan-contact-layout { display:grid; grid-template-columns:0.88fr 1.12fr; gap:46px; align-items:start; }
.dasan-contact-panel { display:grid; gap:24px; }
.dasan-contact-card { padding:42px 40px; background:#f6f8fb; border:1px solid #e8edf4; }
.dasan-contact-card h3 { margin:0 0 14px; color:#111; font-size:30px; line-height:1.25; font-weight:700; letter-spacing:-.045em; }
.dasan-contact-card > p { margin:0 0 26px; color:#555; font-size:16px; line-height:1.75; letter-spacing:-.035em; word-break:keep-all; }
.dasan-contact-detail { margin:0; }
.dasan-contact-detail div { display:grid; grid-template-columns:104px 1fr; gap:18px; padding:15px 0; border-bottom:1px solid #dde4ef; }
.dasan-contact-detail div:first-child { border-top:1px solid #dde4ef; }
.dasan-contact-detail dt { color:#111; font-size:15px; font-weight:700; letter-spacing:-.035em; }
.dasan-contact-detail dd { margin:0; color:#444; font-size:15px; line-height:1.55; letter-spacing:-.035em; word-break:keep-all; }
.dasan-contact-detail a { color:#444; text-decoration:none; }
.dasan-contact-detail a:hover { color:#1646a0; }
.dasan-contact-map { position:relative; overflow:hidden; border:1px solid #e8edf4; background:#fff; }
.dasan-contact-map iframe { display:block; width:100%; height:360px; border:0; filter:none; }
.dasan-inquiry-form { padding:46px; background:#fff; border:1px solid #e3e8f0; box-shadow:0 22px 70px rgba(15,30,55,.08); }
.dasan-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px 20px; }
.dasan-form-field { position:relative; }
.dasan-form-field.full { margin-top:22px; }
.dasan-form-field label { display:flex; align-items:center; gap:6px; margin-bottom:10px; color:#111; font-size:15px; line-height:1.4; font-weight:700; letter-spacing:-.035em; }
.dasan-form-field label span { color:#1646a0; }
.dasan-form-field label em { color:#888; font-size:12px; font-style:normal; font-weight:500; }
.dasan-form-field input,
.dasan-form-field select,
.dasan-form-field textarea { display:block; width:100%; border:1px solid #dce3ed; background:#fff; color:#111; font-size:15px; line-height:1.45; letter-spacing:-.035em; outline:0; transition:border-color .2s ease, box-shadow .2s ease; }
.dasan-form-field input,
.dasan-form-field select { height:54px; padding:0 16px; }
.dasan-form-field textarea { min-height:180px; padding:16px; resize:vertical; }
.dasan-form-field input::placeholder,
.dasan-form-field textarea::placeholder { color:#aaa; }
.dasan-form-field input:focus,
.dasan-form-field select:focus,
.dasan-form-field textarea:focus { border-color:#1646a0; box-shadow:0 0 0 3px rgba(22,70,160,.08); }
.dasan-field-help { margin:8px 0 0; color:#888; font-size:12px; line-height:1.45; letter-spacing:-.03em; }
.dasan-privacy-box { margin-top:22px; padding:22px 24px; background:#f6f8fb; border:1px solid #e2e8f1; }
.dasan-privacy-box strong { display:block; margin-bottom:8px; color:#111; font-size:15px; font-weight:700; letter-spacing:-.035em; }
.dasan-privacy-box p { margin:0 0 14px; color:#666; font-size:13px; line-height:1.65; letter-spacing:-.035em; word-break:keep-all; }
.dasan-check { display:flex; align-items:center; gap:9px; margin:0; color:#333; font-size:14px; line-height:1.45; letter-spacing:-.035em; cursor:pointer; }
.dasan-check input { width:18px; height:18px; accent-color:#1646a0; }
.dasan-check b { color:#1646a0; }
.dasan-form-submit { margin-top:26px; }
.dasan-form-submit button { display:flex; align-items:center; justify-content:center; width:100%; height:58px; border:0; background:#1646a0; color:#fff; font-size:17px; font-weight:700; letter-spacing:-.035em; cursor:pointer; transition:background .25s ease, transform .25s ease; }
.dasan-form-submit button:hover { background:#0f3479; transform:translateY(-2px); }
.dasan-hp-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; }
@media (max-width:1100px){
    .dasan-contact-layout{grid-template-columns:1fr;gap:36px;}
    .dasan-contact-panel{grid-template-columns:1fr 1fr;}
    .dasan-contact-map iframe{height:100%;min-height:340px;}
}
@media (max-width:768px){
    .dasan-contact-panel{grid-template-columns:1fr;}
    .dasan-contact-card{padding:30px 24px;}
    .dasan-contact-card h3{font-size:24px;}
    .dasan-contact-detail div{grid-template-columns:84px 1fr;gap:12px;}
    .dasan-contact-map iframe{height:300px;min-height:300px;}
    .dasan-inquiry-form{padding:30px 20px;}
    .dasan-form-grid{grid-template-columns:1fr;gap:18px;}
    .dasan-form-field.full{margin-top:18px;}
    .dasan-form-field input,.dasan-form-field select{height:50px;}
    .dasan-form-field textarea{min-height:160px;}
    .dasan-privacy-box{padding:20px 18px;}
    .dasan-form-submit button{height:54px;font-size:16px;}
}

/* 20260813 case image text hide */
.dasan-gallery-caption{display:none !important;}


/* 2026-09-07 최종 수정사항 추가 */
.dasan-history-layout { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:56px; align-items:start; }
.dasan-history-aside { position:sticky; top:110px; }
.dasan-history-aside .dasan-img-box { box-shadow:0 24px 70px rgba(15,30,55,.12); }
.dasan-history-aside p { margin:18px 0 0; color:#555; font-size:15px; line-height:1.72; letter-spacing:-.035em; word-break:keep-all; }
.dasan-promo-video-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.dasan-promo-video-card { background:#fff; border:1px solid #e8edf4; box-shadow:0 18px 50px rgba(15,30,55,.06); }
.dasan-promo-video-card video { display:block; width:100%; aspect-ratio:16/9; background:#111; }
.dasan-promo-video-card h3 { margin:0; padding:20px 22px; color:#111; font-size:20px; line-height:1.35; font-weight:700; letter-spacing:-.04em; }
@media (max-width:1100px){
    .dasan-history-layout { grid-template-columns:1fr; }
    .dasan-history-aside { position:relative; top:auto; }
}
@media (max-width:768px){
    .dasan-promo-video-grid { grid-template-columns:1fr; gap:18px; }
    .dasan-promo-video-card h3 { font-size:17px; padding:16px 18px; }
}
