
:root{
  --navy:#061b3d;--navy2:#0a2b5f;--blue:#123a8c;--red:#e72d35;
  --ink:#111827;--muted:#6b7280;--line:#e5e7eb;--light:#f6f8fb;--white:#fff;
  --shadow:0 24px 70px rgba(6,27,61,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.container{width:min(1240px,calc(100% - 56px));margin:0 auto}
.header{height:118px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,72px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000}
.logo{display:flex;align-items:center;min-width:470px}
.logo-symbol{width:430px;height:96px;object-fit:contain;object-position:left center}
.logo-name{display:none}
.nav{display:flex;gap:34px;align-items:center;font-size:19px;font-weight:900;color:var(--navy)}
.nav a{position:relative;padding:44px 0}
.nav a:after{content:"";position:absolute;left:0;bottom:33px;width:0;height:3px;background:var(--red);transition:.22s}
.nav a:hover:after,.nav a.active:after{width:100%}
.actions{display:flex;align-items:center;gap:10px}
.pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;min-width:66px;height:44px;font-weight:900;background:#fff;color:#7b8494}
.pill.active{background:var(--navy);border-color:var(--navy);color:#fff}
.menu{display:none;border:0;background:transparent;font-size:34px;color:var(--navy)}
.hero{min-height:720px;position:relative;overflow:hidden;background:linear-gradient(105deg,rgba(6,27,61,.98) 0%,rgba(6,27,61,.92) 48%,rgba(6,27,61,.62) 100%),radial-gradient(circle at 78% 38%,rgba(231,45,53,.27),transparent 24%),linear-gradient(135deg,#08224d,#2a4777);color:#fff}
.hero:before,.hero:after{content:"";position:absolute;height:5px;background:rgba(255,255,255,.13);transform:rotate(-37deg);border-radius:999px}
.hero:before{width:78%;right:-18%;top:38%}.hero:after{width:54%;right:4%;top:72%}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center;min-height:720px;padding:80px 0}
.eyebrow{font-size:14px;font-weight:900;letter-spacing:.18em;color:#9fb7ff;margin:0 0 20px;text-transform:uppercase}
.hero h1{font-size:clamp(46px,5.2vw,80px);line-height:1.07;letter-spacing:-.075em;margin:0 0 30px}
.hero p.desc{font-size:22px;color:rgba(255,255,255,.78);max-width:720px;margin:0 0 40px;word-break:keep-all}
.btns{display:flex;gap:16px;flex-wrap:wrap}
.btn{height:60px;padding:0 34px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;border:1px solid transparent;transition:.2s;cursor:pointer}
.btn.red{background:var(--red);color:#fff}.btn.dark{background:var(--navy);color:#fff}.btn.outline{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}.btn.white{background:#fff;color:var(--navy)}
.btn:hover{transform:translateY(-2px)}
.hero-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);box-shadow:var(--shadow);padding:26px;backdrop-filter:blur(10px)}
.logo-showcase{display:flex;align-items:center;justify-content:center;background:#fff;padding:10px 14px;margin-bottom:22px;min-height:154px;box-shadow:0 18px 45px rgba(0,0,0,.16)}
.logo-showcase img{width:100%;max-width:700px;height:136px;object-fit:contain}
.logo-showcase strong{display:none}
.contact-table{background:#fff;color:var(--navy)}
.contact-row{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line)}
.contact-row:last-child{border-bottom:0}
.contact-row span{padding:18px 22px;font-weight:900;color:#687386}.contact-row strong{padding:18px 22px;text-align:right;font-size:18px}
.strip{padding:58px 0;background:var(--navy);color:#fff}
.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14)}
.strip article{background:var(--navy);padding:34px}.strip span{color:#ff9ca2;font-weight:900}.strip strong{display:block;font-size:26px;margin:12px 0 8px}.strip p{margin:0;color:rgba(255,255,255,.72)}
.section{padding:112px 0}.title{margin-bottom:48px}.title.center{text-align:center;margin-left:auto;margin-right:auto;max-width:820px}
.title h2{font-size:clamp(38px,4.4vw,60px);line-height:1.12;letter-spacing:-.06em;margin:0 0 18px;color:var(--navy)}
.title p{font-size:20px;color:var(--muted);margin:0;word-break:keep-all}
.grid{display:grid;gap:24px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);padding:38px;min-height:260px;box-shadow:0 12px 40px rgba(6,27,61,.06)}
.card.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.card h3{font-size:30px;line-height:1.2;letter-spacing:-.04em;color:var(--navy);margin:0 0 14px}.card.dark h3{color:#fff}
.card p{color:var(--muted);margin:0}.card.dark p{color:rgba(255,255,255,.76)}
.card small{display:block;font-weight:900;color:var(--red);letter-spacing:.12em;margin-bottom:20px}
.page-hero{background:linear-gradient(105deg,rgba(6,27,61,.95),rgba(6,27,61,.76)),linear-gradient(135deg,#102d61,#8598b6);color:#fff;padding:112px 0}
.page-hero h1{font-size:64px;letter-spacing:-.06em;margin:0 0 16px;line-height:1.08}.page-hero p{font-size:22px;color:rgba(255,255,255,.75);margin:0}.breadcrumb{font-size:14px;color:rgba(255,255,255,.66);margin-bottom:28px}
.info-list{display:grid;gap:14px;padding:0;margin:0}.info-list li{list-style:none;display:grid;grid-template-columns:170px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.info-list b{color:var(--navy)}.info-list span{color:#465266}

/* notice list/detail style */
.notice-board{border-top:2px solid var(--navy)}
.notice-head,.notice-row{display:grid;grid-template-columns:90px 1fr 150px 110px;gap:18px;align-items:center}
.notice-head{padding:16px 0;border-bottom:1px solid var(--line);color:var(--navy);font-weight:900;text-align:center;background:#fafbfc}
.notice-row{padding:22px 0;border-bottom:1px solid var(--line)}
.notice-row .num,.notice-row .date,.notice-row .views{text-align:center;color:var(--muted)}
.notice-row .subject{font-size:20px;font-weight:900;color:var(--navy)}
.notice-row .subject:hover{color:var(--red)}
.notice-detail-wrap{border-top:2px solid var(--navy);background:#fff}
.notice-detail-title{padding:32px 28px;border-bottom:1px solid var(--line)}
.notice-detail-title h2{font-size:34px;line-height:1.25;letter-spacing:-.04em;color:var(--navy);margin:0 0 16px}
.notice-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:15px}
.notice-content{padding:42px 28px;min-height:280px;color:#263244;font-size:18px;line-height:1.85}
.notice-content img{max-width:100%;margin:22px 0}
.notice-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}

.form{background:#fff;border:1px solid var(--line);padding:42px;box-shadow:0 16px 45px rgba(6,27,61,.08)}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
label{display:grid;gap:10px;font-weight:900;color:var(--navy);margin-bottom:20px}
input,textarea,select{width:100%;border:1px solid #cfd6e1;background:#fff;padding:16px 18px;color:var(--ink)}
input[type="color"]{height:52px;padding:6px}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(18,58,140,.13);border-color:var(--blue)}
.result-box{display:none;margin-top:24px;padding:28px;background:#f0f5ff;border-left:5px solid var(--blue)}.result-box.show{display:block}
.footer{background:#071225;color:rgba(255,255,255,.68);padding:48px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.footer strong{display:block;color:#fff;font-size:24px;margin-bottom:10px}.footer p{margin:0 0 6px}.footer .links{display:flex;gap:18px;flex-wrap:wrap}

/* admin */
.admin-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f4f6fa}.admin-side{background:var(--navy);color:#fff;padding:28px}.admin-brand{display:flex;align-items:center;gap:12px;background:#fff;padding:12px;margin-bottom:34px}.admin-brand img{width:230px;height:70px;object-fit:contain;object-position:left center}.admin-brand strong{display:none}.admin-side a{display:block;padding:14px 0;color:rgba(255,255,255,.78);font-weight:800;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-main{padding:36px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-card{background:#fff;border:1px solid var(--line);padding:28px;margin-bottom:24px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{border-bottom:1px solid var(--line);padding:16px;text-align:left;vertical-align:top}.table th{background:#f7f9fc;color:var(--navy)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef3ff;color:var(--blue);font-weight:900;font-size:13px}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#123a8c)}.login-box{width:min(520px,calc(100% - 40px));background:#fff;padding:42px;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px}.login-brand img{width:360px;height:110px;object-fit:contain}.login-brand strong{display:none}
.lang-note{font-size:14px;color:var(--muted);margin-top:8px}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.small-btn{border:1px solid var(--line);background:#fff;padding:8px 12px;cursor:pointer;font-weight:800}.small-btn.red{background:var(--red);border-color:var(--red);color:#fff}.small-btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:4px 0 16px;padding:14px;background:#f7f9fc;border:1px solid var(--line)}
.toolbar label{margin:0;font-size:13px;gap:5px}.toolbar select,.toolbar input{padding:8px 10px}
.editor{min-height:260px;background:#fff;border:1px solid #cfd6e1;padding:20px;outline:none;line-height:1.8}
.editor:focus{outline:3px solid rgba(18,58,140,.13);border-color:var(--blue)}
.preview-img{max-width:180px;margin-top:10px;border:1px solid var(--line)}
@media(max-width:1160px){.nav{display:flex;gap:34px;align-items:center;font-size:19px;font-weight:900;color:var(--navy)}.logo{display:flex;align-items:center;min-width:470px}.logo-name{display:none}.logo-symbol{width:430px;height:96px;object-fit:contain;object-position:left center}}
@media(max-width:1000px){
 .header{height:118px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,72px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000}.nav{display:flex;gap:34px;align-items:center;font-size:19px;font-weight:900;color:var(--navy)}.nav.open{display:grid}.nav a{padding:10px 0}.nav a:after{display:none}.menu{display:block}.hero-inner,.grid.two,.grid.three,.strip-grid{grid-template-columns:1fr}.hero-inner{padding:100px 0 70px}.hero{min-height:auto}.hero-card{max-width:620px}.form-row{grid-template-columns:1fr}.footer-grid{display:grid}.admin-shell{grid-template-columns:1fr}.notice-head{display:none}.notice-row{grid-template-columns:1fr}.notice-row .num,.notice-row .date,.notice-row .views{text-align:left}
}
@media(max-width:640px){
 .container{width:min(100% - 36px,1240px)}.actions .pill{display:none}.logo-symbol{width:430px;height:96px;object-fit:contain;object-position:left center}.logo-name{display:none}.logo{display:flex;align-items:center;min-width:470px}.hero h1{font-size:48px}.hero p.desc{font-size:18px}.logo-showcase{display:flex;align-items:center;justify-content:center;background:#fff;padding:10px 14px;margin-bottom:22px;min-height:154px;box-shadow:0 18px 45px rgba(0,0,0,.16)}.logo-showcase img{width:100%;max-width:700px;height:136px;object-fit:contain}.logo-showcase strong{display:none}.page-hero h1{font-size:44px}.section{padding:78px 0}.contact-row{grid-template-columns:1fr}.contact-row strong{text-align:left;padding-top:0}.info-list li{grid-template-columns:1fr;gap:6px}.admin-main{padding:20px}
}

.dashboard-metrics{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin-bottom:24px;
}
.metric-card{
  background:#fff;
  border:1px solid var(--line);
  padding:24px;
  box-shadow:0 10px 30px rgba(6,27,61,.06);
}
.metric-card small{
  display:block;
  color:var(--muted);
  font-weight:900;
  margin-bottom:12px;
}
.metric-card strong{
  display:block;
  color:var(--navy);
  font-size:38px;
  line-height:1;
}
.metric-card.red strong{color:var(--red)}
.metric-card.blue strong{color:var(--blue)}
.toolbar .divider{
  width:1px;
  height:34px;
  background:var(--line);
}
.toolbar .icon-btn{
  min-width:38px;
  height:38px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:900;
  cursor:pointer;
}
.toolbar .icon-btn:hover{background:#eef3ff}
@media(max-width:1200px){
  .dashboard-metrics{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .dashboard-metrics{grid-template-columns:1fr}
}

.footer-grid{position:relative}
.footer .links{
  position:absolute;
  right:0;
  bottom:0;
  display:flex;
  gap:10px;
  align-items:center;
}
.footer .links a{
  font-size:13px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.04);
}
.footer .links a:hover{
  color:#fff;
  border-color:rgba(255,255,255,.4);
}
.contact-map-card{
  display:grid;
  gap:20px;
}
.map-box{
  min-height:320px;
  border:1px solid var(--line);
  overflow:hidden;
  background:#eef3ff;
}
.map-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.map-actions .btn{height:50px}
.service-lead{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}
.service-lead h2{
  line-height:1.18;
}
.service-lead p{
  max-width:720px;
  margin:0 auto;
  line-height:1.75;
}
@media(max-width:1160px){
  .logo{min-width:360px}
  .logo-symbol{width:340px;height:86px}
}
@media(max-width:760px){
  .footer .links{position:static;margin-top:20px}
  .logo{min-width:auto}
  .logo-symbol{width:240px;height:70px}
}

/* v3 readability refinements */
.hero-copy-title,
.hero h1{
  max-width: 760px;
  font-size: clamp(44px, 4.7vw, 74px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.065em !important;
  word-break: keep-all;
}
.hero p.desc{
  max-width: 700px !important;
  font-size: 20px !important;
  line-height: 1.75 !important;
  word-break: keep-all;
}
.hero-inner{
  grid-template-columns: 0.98fr 1.02fr !important;
}
.service-lead{
  max-width: 780px !important;
}
.service-lead h2{
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.22 !important;
  word-break: keep-all;
}
.service-lead p{
  max-width: 680px !important;
  font-size: 19px !important;
  line-height: 1.85 !important;
  word-break: keep-all;
}
.service-break{
  display:block;
}
@media(max-width:1000px){
  .hero-inner{grid-template-columns:1fr !important}
  .hero h1{font-size:52px !important}
}
@media(max-width:640px){
  .hero h1{font-size:42px !important}
  .hero p.desc{font-size:17px !important}
  .service-lead h2{font-size:34px !important}
  .service-lead p{font-size:17px !important}
}

/* v4 admin/editor polish */
.admin-side{
  padding: 34px 24px !important;
}
.admin-brand{
  justify-content:center;
  padding:20px 14px !important;
  margin-bottom:34px !important;
}
.admin-brand img{
  width:260px !important;
  height:92px !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.login-brand{
  margin-bottom:34px !important;
}
.login-brand img{
  width:390px !important;
  height:125px !important;
  object-fit:contain !important;
}
.toolbar{
  align-items:center !important;
  gap:8px !important;
}
.toolbar .tool-label{
  font-size:13px;
  font-weight:900;
  color:var(--muted);
  margin-right:2px;
}
.toolbar .icon-btn{
  font-size:18px;
  line-height:1;
}
.toolbar .icon-btn.wide{
  min-width:72px;
  padding:0 12px;
  font-size:14px;
}
.hidden-file{
  display:none;
}
.editor img{
  max-width:100%;
  height:auto;
  display:block;
  margin:16px auto;
}
.editor video{
  max-width:100%;
  display:block;
  margin:16px auto;
  background:#000;
}
.notice-content video{
  max-width:100%;
  display:block;
  margin:22px auto;
  background:#000;
}
.notice-content iframe{
  max-width:100%;
  display:block;
  margin:22px auto;
}
@media(max-width:760px){
  .login-brand img{width:280px;height:96px}
  .admin-brand img{width:220px;height:78px}
}

/* v5 preview + media resize */
.editor img,
.editor video{
  cursor:pointer;
  outline:2px solid transparent;
}
.editor img.selected-media,
.editor video.selected-media{
  outline:3px solid var(--red);
  outline-offset:4px;
}
.media-size-tools{
  display:flex;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border:1px solid var(--line);
  background:#fff;
}
.media-size-tools input[type="range"]{
  width:120px;
  padding:0;
}
.preview-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  background:rgba(0,0,0,.62);
  padding:36px;
  overflow:auto;
}
.preview-modal.show{display:block}
.preview-panel{
  width:min(980px,100%);
  margin:0 auto;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.preview-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 24px;
  border-bottom:1px solid var(--line);
  background:#f7f9fc;
}
.preview-top strong{
  color:var(--navy);
  font-size:20px;
}
.preview-close{
  border:0;
  background:var(--navy);
  color:#fff;
  padding:10px 16px;
  font-weight:900;
  cursor:pointer;
}
.preview-body{
  padding:34px;
}
.preview-body h1{
  margin:0 0 18px;
  color:var(--navy);
  font-size:34px;
  line-height:1.25;
  letter-spacing:-.04em;
}
.preview-meta{
  color:var(--muted);
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
  margin-bottom:28px;
}
.preview-content{
  font-size:18px;
  line-height:1.85;
  color:#263244;
}
.preview-content img,
.preview-content video{
  max-width:100%;
  display:block;
  margin:22px auto;
}
@media(max-width:760px){
  .preview-modal{padding:16px}
  .preview-body{padding:22px}
  .media-size-tools{width:100%;flex-wrap:wrap}
}

/* v6 editor and content preservation */
.toolbar .icon-btn.active{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.toolbar .icon-btn.danger{
  color:var(--red);
}
.toolbar .icon-btn.danger.active,
.toolbar .icon-btn.danger:hover{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
}
.editor,
.preview-content,
.notice-content{
  font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.notice-content *{
  max-width:100%;
}
.notice-content b,
.notice-content strong,
.preview-content b,
.preview-content strong{
  font-weight:900;
}
.notice-content i,
.notice-content em,
.preview-content i,
.preview-content em{
  font-style:italic;
}
.notice-content u,
.preview-content u{
  text-decoration:underline;
}
.notice-content [style],
.preview-content [style]{
  /* keep admin inline formatting visible */
}
.editor figure,
.notice-content figure,
.preview-content figure{
  margin:18px auto;
}
.editor figure img,
.editor figure video,
.notice-content figure img,
.notice-content figure video,
.preview-content figure img,
.preview-content figure video{
  margin:0 auto;
}
.service-lead p{
  max-width:760px !important;
}

/* v7 mobile header fix */
@media(max-width:1000px){
  .header{
    height:76px !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
  }
  .logo{
    min-width:0 !important;
    flex:1 1 auto !important;
    max-width:calc(100% - 58px) !important;
  }
  .logo-symbol{
    width:170px !important;
    height:54px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  .actions{
    flex:0 0 auto !important;
    gap:0 !important;
  }
  .actions .pill{
    display:none !important;
  }
  .menu{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:48px !important;
    height:48px !important;
    font-size:34px !important;
    line-height:1 !important;
    color:var(--navy) !important;
    z-index:1002 !important;
  }
  .nav{
    display:none !important;
    position:absolute !important;
    left:16px !important;
    right:16px !important;
    top:76px !important;
    padding:18px 22px !important;
    background:#fff !important;
    box-shadow:var(--shadow) !important;
    border:1px solid var(--line) !important;
    z-index:1001 !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    font-size:18px !important;
  }
  .nav.open{
    display:grid !important;
  }
  .nav a{
    display:block !important;
    padding:13px 0 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    word-break:keep-all !important;
    letter-spacing:-0.02em !important;
    border-bottom:1px solid var(--line) !important;
  }
  .nav a:last-child{
    border-bottom:0 !important;
  }
  .nav a:after{
    display:none !important;
  }
}
@media(max-width:420px){
  .logo-symbol{
    width:150px !important;
  }
  .header{
    padding:0 14px !important;
  }
}

/* v8 PDF content update */
.case-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.case-gallery img{
  width:100%;
  height:210px;
  object-fit:cover;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 10px 28px rgba(6,27,61,.08);
}
.case-card-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:24px;
  color:var(--red);
  font-weight:900;
}
.fleet-panel{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  padding:36px;
  box-shadow:0 16px 46px rgba(6,27,61,.08);
}
.fleet-panel img{
  width:100%;
  height:360px;
  object-fit:contain;
  background:#f8fafc;
}
.spec-list{
  display:grid;
  gap:12px;
  margin:22px 0 0;
  padding:0;
}
.spec-list li{
  list-style:none;
  padding:16px 18px;
  border:1px solid var(--line);
  background:#f7f9fc;
  color:#334155;
}
.spec-list b{
  color:var(--navy);
}
.history-list{
  border-left:3px solid var(--blue);
  padding-left:22px;
  display:grid;
  gap:12px;
}
.history-list p{
  margin:0;
}
.customer-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.customer-tags span{
  padding:8px 12px;
  border-radius:999px;
  background:#eef3ff;
  color:var(--blue);
  font-weight:900;
  font-size:14px;
}
.site-overview-img{
  width:100%;
  border:1px solid var(--line);
  box-shadow:0 16px 45px rgba(6,27,61,.08);
}
@media(max-width:1100px){
  .case-gallery{grid-template-columns:repeat(2,1fr)}
  .fleet-panel{grid-template-columns:1fr}
}
@media(max-width:640px){
  .case-gallery{grid-template-columns:1fr}
  .case-gallery img{height:240px}
  .fleet-panel{padding:24px}
  .fleet-panel img{height:260px}
}

/* v10 fleet/contact refinements */
.fleet-image-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.fleet-image-grid img{
  width:100%;
  height:210px;
  object-fit:contain;
  background:#fff;
  border:1px solid var(--line);
  padding:12px;
}
.contact-fax-list{
  display:grid;
  gap:4px;
}
@media(max-width:760px){
  .fleet-image-grid{grid-template-columns:1fr}
  .fleet-image-grid img{height:220px}
}

/* v11 notice editor formatting fix */
.notice-content b,
.notice-content strong,
.notice-content span[style*="font-weight: bold"],
.notice-content span[style*="font-weight:bold"],
.preview-content b,
.preview-content strong,
.preview-content span[style*="font-weight: bold"],
.preview-content span[style*="font-weight:bold"],
.editor b,
.editor strong,
.editor span[style*="font-weight: bold"],
.editor span[style*="font-weight:bold"]{
  font-weight:900 !important;
}

/* v15 keyword SEO content sections */
.seo-intro{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 16px 45px rgba(6,27,61,.07);
  padding:34px;
}
.seo-intro h3{
  color:var(--navy);
  font-size:30px;
  line-height:1.28;
  margin:0 0 16px;
  letter-spacing:-.04em;
}
.seo-intro p{
  color:#334155;
  line-height:1.85;
  font-size:18px;
  margin:0 0 14px;
  word-break:keep-all;
}
.keyword-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
}
.keyword-tags span{
  display:inline-flex;
  padding:9px 13px;
  border-radius:999px;
  background:#eef3ff;
  color:var(--blue);
  font-weight:900;
  font-size:14px;
}
.seo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.seo-card{
  background:#fff;
  border:1px solid var(--line);
  padding:26px;
  min-height:190px;
}
.seo-card h3{
  color:var(--navy);
  margin:0 0 12px;
  font-size:24px;
}
.seo-card p{
  color:#475569;
  line-height:1.75;
  margin:0;
}
.local-info{
  background:#061b3d;
  color:#fff;
  padding:34px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:center;
}
.local-info h3{
  font-size:30px;
  margin:0 0 12px;
}
.local-info p{
  color:rgba(255,255,255,.78);
  line-height:1.8;
  margin:0;
}
.local-info ul{
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.local-info li{
  list-style:none;
  padding:12px 14px;
  background:rgba(255,255,255,.08);
}
.notice-template{
  border:1px solid var(--line);
  background:#fff;
  padding:26px;
  margin-bottom:18px;
}
.notice-template h3{
  margin:0 0 12px;
  color:var(--navy);
}
.notice-template p{
  margin:0;
  line-height:1.8;
  color:#475569;
}
@media(max-width:980px){
  .seo-grid{grid-template-columns:1fr}
  .local-info{grid-template-columns:1fr}
}
@media(max-width:640px){
  .seo-intro{padding:24px}
  .seo-intro h3{font-size:25px}
  .seo-intro p{font-size:16px}
}

/* v16 notice board: search, pagination, pin, attachments */
.board-tools{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:24px;
  flex-wrap:wrap;
}
.board-search{
  display:flex;
  gap:8px;
  align-items:center;
  margin-left:auto;
}
.board-search select,
.board-search input{
  height:46px;
  padding:0 14px;
}
.board-search input{
  min-width:260px;
}
.board-search button{
  height:46px;
  padding:0 18px;
  border:0;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.notice-board-v16{
  border-top:2px solid var(--navy);
  background:#fff;
}
.notice-head-v16,
.notice-row-v16{
  display:grid;
  grid-template-columns:92px 1fr 90px 118px 98px;
  align-items:center;
  gap:14px;
}
.notice-head-v16{
  padding:16px 0;
  background:#f7f9fc;
  border-bottom:1px solid var(--line);
  color:var(--navy);
  font-weight:900;
  text-align:center;
}
.notice-row-v16{
  min-height:72px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.notice-row-v16 .notice-no,
.notice-row-v16 .notice-views,
.notice-row-v16 .notice-date,
.notice-row-v16 .notice-file{
  text-align:center;
  color:var(--muted);
  font-size:15px;
}
.notice-title-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.notice-title-wrap a{
  font-size:18px;
  font-weight:900;
  color:var(--navy);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.notice-title-wrap a:hover{
  color:var(--red);
}
.pin-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-weight:900;
  font-size:13px;
}
.file-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--blue);
  font-weight:900;
}
.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin-top:30px;
  flex-wrap:wrap;
}
.pagination button{
  min-width:40px;
  height:40px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  font-weight:900;
  cursor:pointer;
}
.pagination button.active{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.pagination button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.attachments-list{
  margin-top:30px;
  border-top:1px solid var(--line);
  padding-top:20px;
}
.attachments-list h3{
  margin:0 0 14px;
  color:var(--navy);
}
.attachments-list a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--line);
  margin-bottom:8px;
  color:var(--blue);
  font-weight:900;
  background:#f8fafc;
}
.attachment-tools{
  display:grid;
  gap:10px;
  margin:12px 0 20px;
}
.attachment-list-admin{
  display:grid;
  gap:8px;
}
.attachment-chip{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  background:#f8fafc;
  padding:10px 12px;
}
.attachment-chip button{
  border:0;
  background:var(--red);
  color:#fff;
  padding:6px 10px;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:820px){
  .notice-head-v16{display:none}
  .notice-row-v16{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px 0;
  }
  .notice-row-v16 .notice-no,
  .notice-row-v16 .notice-views,
  .notice-row-v16 .notice-date,
  .notice-row-v16 .notice-file{
    text-align:left;
  }
  .notice-title-wrap a{
    white-space:normal;
  }
  .board-search{
    width:100%;
    margin-left:0;
  }
  .board-search input{
    flex:1;
    min-width:0;
  }
}

/* v17 notice board fixes */
.board-search button{
  min-width:86px !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 20px !important;
}
.admin-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin-top:22px;
  flex-wrap:wrap;
}
.admin-pagination button{
  min-width:38px;
  height:38px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  font-weight:900;
  cursor:pointer;
}
.admin-pagination button.active{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.admin-pagination button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:820px){
  .board-search{
    display:grid !important;
    grid-template-columns:110px 1fr 86px;
  }
  .board-search button{
    width:86px !important;
  }
}
@media(max-width:520px){
  .board-search{
    grid-template-columns:1fr;
  }
  .board-search button{
    width:100% !important;
  }
}

/* v19 notice sort controls */
.board-sort{
  display:flex;
  align-items:center;
  gap:8px;
}
.board-sort label{
  font-weight:900;
  color:var(--navy);
}
.board-sort select{
  height:46px;
  padding:0 14px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  font-weight:800;
}
@media(max-width:820px){
  .board-tools{
    align-items:stretch;
  }
  .board-sort{
    width:100%;
  }
  .board-sort select{
    flex:1;
  }
}

/* v20 natural SEO copy block */
.natural-service-block{
  background:#061b3d;
  color:#fff;
  padding:56px;
  border-radius:0;
}
.natural-service-block .eyebrow{
  color:#a8c0ff;
  margin-bottom:14px;
}
.natural-service-block h2{
  color:#fff;
  font-size:40px;
  line-height:1.28;
  letter-spacing:-.05em;
  margin:0 0 20px;
}
.natural-service-block p{
  color:rgba(255,255,255,.78);
  font-size:18px;
  line-height:1.85;
  margin:0;
  word-break:keep-all;
}
.natural-service-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:32px;
}
.natural-service-list article{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  padding:22px;
}
.natural-service-list h3{
  color:#fff;
  font-size:21px;
  margin:0 0 10px;
}
.natural-service-list p{
  font-size:15px;
  line-height:1.7;
}
@media(max-width:980px){
  .natural-service-block{padding:36px 26px}
  .natural-service-list{grid-template-columns:1fr}
  .natural-service-block h2{font-size:30px}
}

/* v21 notice sort layout and first/last pagination */
.board-tools{
  display:grid !important;
  grid-template-columns:auto auto 1fr !important;
  align-items:center !important;
  gap:16px !important;
}
.board-sort{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  white-space:nowrap !important;
}
.board-sort label{
  display:inline-block !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  line-height:1 !important;
  min-width:38px !important;
}
.board-sort select{
  min-width:150px !important;
}
.board-search{
  justify-self:end !important;
}
.pagination button.first-last,
.admin-pagination button.first-last{
  min-width:56px !important;
}
@media(max-width:980px){
  .board-tools{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .board-sort{
    width:100% !important;
  }
  .board-sort select{
    flex:1 !important;
  }
  .board-search{
    justify-self:stretch !important;
  }
}

/* v22 pagination arrow labels */
.pagination button.first-last,
.admin-pagination button.first-last{
  min-width:40px !important;
  width:40px !important;
  font-size:18px !important;
  letter-spacing:-0.08em;
}

/* v23 notice toolbar clean layout */
.board-tools{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-bottom:24px !important;
}
.notice-total{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:96px;
  font-size:16px;
  color:#475569;
  font-weight:800;
  white-space:nowrap;
}
.notice-total strong{
  color:var(--navy);
  font-size:21px;
  font-weight:900;
  letter-spacing:-0.03em;
}
.notice-control-left{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.board-sort{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  white-space:nowrap !important;
}
.board-sort label{
  display:inline-flex !important;
  align-items:center !important;
  color:#475569 !important;
  font-size:16px !important;
  font-weight:900 !important;
  min-width:auto !important;
  line-height:1 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  writing-mode:horizontal-tb !important;
}
.board-sort select{
  height:46px !important;
  min-width:150px !important;
}
.board-search{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-left:0 !important;
  justify-self:auto !important;
}
.board-search select{
  width:110px;
  flex:0 0 110px;
}
.board-search input{
  width:300px;
  min-width:220px;
}
@media(max-width:980px){
  .board-tools{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .notice-control-left{
    width:100%;
    justify-content:space-between;
  }
  .board-search{
    width:100%;
  }
  .board-search input{
    flex:1;
    width:auto;
  }
}
@media(max-width:560px){
  .notice-control-left{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .notice-total{
    justify-content:flex-start;
  }
  .board-search{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .board-search select,
  .board-search input,
  .board-search button{
    width:100% !important;
    min-width:0 !important;
  }
}

/* v24 notice toolbar alignment + editor formatting */
.board-tools{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin-bottom:26px !important;
}
.notice-control-left{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  flex-wrap:nowrap !important;
}
.notice-total{
  display:flex !important;
  align-items:baseline !important;
  gap:7px !important;
  min-width:auto !important;
  height:48px !important;
  color:#475569 !important;
  white-space:nowrap !important;
}
.notice-total span{
  display:inline-flex !important;
  align-items:center !important;
  height:48px !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.notice-total strong{
  display:inline-flex !important;
  align-items:center !important;
  height:48px !important;
  color:var(--navy) !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.board-sort{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  height:48px !important;
  white-space:nowrap !important;
}
.board-sort label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:48px !important;
  margin:0 !important;
  padding:0 !important;
  color:#475569 !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  transform:none !important;
}
.board-sort select{
  height:48px !important;
  min-width:150px !important;
  padding:0 42px 0 18px !important;
  margin:0 !important;
  line-height:48px !important;
}
.board-search{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
}
.board-search select,
.board-search input,
.board-search button{
  height:48px !important;
  margin:0 !important;
}
@media(max-width:980px){
  .board-tools{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .notice-control-left{
    width:100% !important;
    justify-content:flex-start !important;
  }
  .board-search{
    width:100% !important;
  }
  .board-search input{
    flex:1 !important;
  }
}
@media(max-width:560px){
  .notice-control-left{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .board-sort{
    width:100% !important;
  }
  .board-sort select{
    flex:1 !important;
  }
}

/* Make notice body preserve editor formatting exactly */
.notice-content,
.preview-content,
.editor{
  line-height:inherit;
}
.notice-content b,
.notice-content strong,
.preview-content b,
.preview-content strong,
.editor b,
.editor strong{
  font-weight:900 !important;
}
.notice-content [style*="font-weight"],
.preview-content [style*="font-weight"],
.editor [style*="font-weight"]{
  font-weight:inherit;
}
.notice-content span[style*="font-weight: 700"],
.notice-content span[style*="font-weight:700"],
.notice-content span[style*="font-weight: bold"],
.notice-content span[style*="font-weight:bold"],
.preview-content span[style*="font-weight: 700"],
.preview-content span[style*="font-weight:700"],
.preview-content span[style*="font-weight: bold"],
.preview-content span[style*="font-weight:bold"],
.editor span[style*="font-weight: 700"],
.editor span[style*="font-weight:700"],
.editor span[style*="font-weight: bold"],
.editor span[style*="font-weight:bold"]{
  font-weight:900 !important;
}
.notice-content p,
.preview-content p,
.editor p{
  margin-top:.4em;
  margin-bottom:.4em;
}

/* v25 notice editor toolbar fixes */
.toolbar select#lineHeightSelect{
  min-width:120px !important;
}
.toolbar button.active,
.toolbar button.is-active{
  background:var(--navy) !important;
  color:#fff !important;
}
.editor span[style*="font-weight: 900"],
.editor span[style*="font-weight:900"],
.preview-content span[style*="font-weight: 900"],
.preview-content span[style*="font-weight:900"],
.notice-content span[style*="font-weight: 900"],
.notice-content span[style*="font-weight:900"]{
  font-weight:900 !important;
}
.editor span[style*="font-weight: 400"],
.editor span[style*="font-weight:400"],
.preview-content span[style*="font-weight: 400"],
.preview-content span[style*="font-weight:400"],
.notice-content span[style*="font-weight: 400"],
.notice-content span[style*="font-weight:400"]{
  font-weight:400 !important;
}
