/* ===== q8.or.kr renewal shared styles (ASCII only) ===== */
.rnw *, .rnw-header *, .rnw-footer * { box-sizing:border-box; }
body{ margin:0; }

/* ---------- Header / Nav ---------- */
.rnw-header{ position:relative; z-index:1000; background:#143029; color:#fff;
  border-bottom:3px solid #b08d4f; font-family:'Noto Sans KR',sans-serif; }
.rnw-bar{ max-width:1120px; margin:0 auto; padding:0 20px; height:70px;
  display:flex; align-items:center; justify-content:space-between; }
.rnw-logo{ display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.rnw-logo .rnw-mk{ font-family:'Noto Serif KR',serif; font-weight:900; font-size:1.5rem; letter-spacing:.06em; color:#fff; }
.rnw-logo .rnw-mk b{ color:#c9a86a; }
.rnw-logo .rnw-sub{ font-size:.66rem; letter-spacing:.28em; color:#c9a86a; display:block; margin-top:2px; }
.rnw-nav{ display:flex; align-items:center; gap:28px; }
.rnw-nav a{ color:#eef3f0; text-decoration:none; font-size:1rem; font-weight:500; padding:6px 0; transition:color .2s; }
.rnw-nav a:hover{ color:#c9a86a; }
.rnw-nav a.rnw-tel{ background:#b08d4f; color:#1a130a; font-weight:700; padding:9px 18px; border-radius:40px; }
.rnw-nav a.rnw-tel:hover{ background:#c9a86a; color:#1a130a; }
.rnw-ham{ display:none; background:none; border:0; color:#fff; font-size:1.8rem; line-height:1; cursor:pointer; padding:4px 8px; }

/* ---------- Content wrap ---------- */
.rnw-wrap{ background:#fbf8f1; min-height:300px; }

/* ---------- Footer ---------- */
.rnw-footer{ background:#102620; color:rgba(255,255,255,.72); font-family:'Noto Sans KR',sans-serif;
  text-align:center; padding:40px 20px; font-weight:300; line-height:1.9; font-size:.92rem; }
.rnw-footer .rnw-fm{ font-family:'Noto Serif KR',serif; font-size:1.3rem; font-weight:700; color:#fff; letter-spacing:.14em; margin-bottom:10px; }
.rnw-footer .rnw-fm span{ color:#c9a86a; }
.rnw-footer .rnw-ft{ color:#c9a86a; font-weight:700; }
.rnw-footer .rnw-copy{ margin-top:16px; font-size:.78rem; opacity:.6; }

/* ---------- Shared content (home / jinryo) ---------- */
.rnw{ font-family:'Noto Sans KR',sans-serif; font-size:17px; color:#20302b; line-height:1.85;
  word-break:keep-all; overflow-wrap:break-word; -webkit-font-smoothing:antialiased; }
.rnw img{ max-width:100%; display:block; }
.rnw a{ color:inherit; text-decoration:none; }
.rnw h1,.rnw h2,.rnw h3,.rnw h4,.rnw .serif{ font-family:'Noto Serif KR',serif; }
.rnw .wrap{ width:1100px; max-width:100%; margin:0 auto; padding:0 24px; }
.rnw .eyebrow{ display:inline-block; font-size:.74rem; letter-spacing:.32em; color:#b08d4f; font-weight:700; margin-bottom:14px; }
.rnw .eyebrow::before{ content:""; display:inline-block; width:22px; height:1px; background:#b08d4f; vertical-align:middle; margin-right:10px; transform:translateY(-3px); }
.rnw .shead{ text-align:center; max-width:640px; margin:0 auto 48px; }
.rnw .shead h2{ font-size:2.2rem; font-weight:700; color:#143029; margin:0 0 14px; line-height:1.4; }
.rnw .shead p{ color:#56655e; font-weight:400; font-size:1.1rem; margin:0; }
.rnw section{ padding:76px 0; }

/* hero (split) */
.rnw-hero{ position:relative; overflow:hidden; color:#fff; background-color:#143a2e;
  background-image:radial-gradient(130% 120% at 82% 12%,rgba(176,141,79,.30),transparent 55%),linear-gradient(160deg,#0f241e,#163a2e 55%,#1f5641); }
.rnw-hero .in{ width:1100px; max-width:100%; margin:0 auto; padding:56px 24px; display:flex; align-items:center; gap:30px; }
.rnw-hero .htxt{ flex:1 1 440px; }
.rnw-hero .himg{ flex:0 0 360px; text-align:center; align-self:flex-end; }
.rnw-hero .himg img{ max-height:460px; margin:0 auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.35)); }
.rnw-hero h1{ font-size:2.7rem; font-weight:900; line-height:1.3; margin:8px 0 16px; }
.rnw-hero h1 .g{ color:#c9a86a; }
.rnw-hero p.lead{ color:#f1ece0; font-weight:400; font-size:1.14rem; max-width:560px; margin:0 0 10px; line-height:1.8; }
.rnw-hero .doc{ margin-top:20px; }
.rnw-hero .doc small{ display:block; color:#c9a86a; letter-spacing:.24em; font-size:.72rem; margin-bottom:6px; }
.rnw-hero .doc b{ font-family:'Noto Serif KR',serif; font-size:1.4rem; font-weight:700; letter-spacing:.1em; }
.rnw-btn{ display:inline-flex; align-items:center; gap:8px; margin-top:24px; background:#b08d4f; color:#1a130a; font-weight:700; padding:14px 30px; border-radius:40px; font-size:1.05rem; }
.rnw-btn:hover{ background:#c9a86a; }
.rnw-btn.ghost{ background:transparent; border:1px solid rgba(255,255,255,.45); color:#fff; margin-left:10px; }
.rnw-btn.ghost:hover{ background:rgba(255,255,255,.1); }

/* quicklinks */
.rnw-ql{ background:#143029; }
.rnw-ql .qgrid{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.rnw-ql a{ display:block; text-align:center; color:#eef3f0; padding:26px 10px; border-right:1px solid rgba(255,255,255,.08); transition:background .2s; }
.rnw-ql a:last-child{ border-right:0; }
.rnw-ql a:hover{ background:rgba(201,168,106,.14); }
.rnw-ql a .ic{ font-family:'Noto Serif KR',serif; font-weight:900; font-size:1.5rem; color:#c9a86a; display:block; margin-bottom:8px; }

/* treat cards */
.rnw-treat{ background:#fbf8f1; }
.rnw .tgrid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.rnw .t{ background:#fff; border:1px solid rgba(20,48,41,.12); border-radius:16px; padding:30px 20px; text-align:center;
  box-shadow:0 16px 40px -26px rgba(20,48,41,.4); border-top:4px solid #1f5641; transition:transform .25s; }
.rnw .t:hover{ transform:translateY(-5px); }
.rnw .t .ic{ width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  background:#f1e9d8; color:#1f5641; font-family:'Noto Serif KR',serif; font-size:1.5rem; font-weight:900; }
.rnw .t h4{ font-size:1.12rem; margin:0 0 8px; font-weight:700; color:#143029; }
.rnw .t p{ font-size:.9rem; color:#5c6b64; font-weight:300; margin:0; line-height:1.65; }

/* hours */
.rnw-hours{ background:#143029; color:#fff; }
.rnw-hours .shead h2{ color:#fff; } .rnw-hours .shead p{ color:rgba(255,255,255,.65); }
.rnw .hgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rnw .h{ background:rgba(255,255,255,.05); border:1px solid rgba(201,168,106,.25); border-radius:16px; padding:30px 22px; text-align:center; }
.rnw .h .d{ font-family:'Noto Serif KR',serif; font-size:1.2rem; font-weight:700; color:#fff; margin-bottom:12px; }
.rnw .h .tm{ font-size:1.3rem; font-weight:700; color:#c9a86a; }
.rnw .h .tm small{ display:block; font-size:.82rem; color:rgba(255,255,255,.6); font-weight:400; margin-top:8px; }
.rnw .lunch{ margin-top:22px; text-align:center; background:rgba(201,168,106,.14); border:1px solid rgba(201,168,106,.3); color:#f1ece0; border-radius:14px; padding:16px; }
.rnw .lunch b{ color:#c9a86a; }

/* latest posts */
.rnw-latest{ background:#fbf8f1; }
.rnw .lgrid{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.rnw .lcard{ background:#fff; border:1px solid rgba(20,48,41,.12); border-radius:16px; padding:28px 26px; box-shadow:0 16px 40px -28px rgba(20,48,41,.4); }
.rnw .lcard .lh{ display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid #1f5641; padding-bottom:12px; margin-bottom:12px; }
.rnw .lcard .lh b{ font-family:'Noto Serif KR',serif; font-size:1.2rem; color:#143029; }
.rnw .lcard .lh a{ font-size:.82rem; color:#b08d4f; font-weight:700; }
.rnw .lcard ul{ list-style:none; margin:0; padding:0; }
.rnw .lcard li{ padding:7px 0; border-bottom:1px dotted rgba(20,48,41,.14); font-size:.95rem; }
.rnw .lcard li a{ color:#3a4742; }
.rnw .lcard li a:hover{ color:#1f5641; }

/* map */
.rnw-map{ background:#fff; }
.rnw .mgrid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:stretch; }
.rnw .minfo{ display:flex; flex-direction:column; justify-content:center; }
.rnw .minfo .row{ display:flex; gap:16px; padding:20px 0; border-bottom:1px solid rgba(20,48,41,.12); align-items:flex-start; }
.rnw .minfo .row:last-child{ border-bottom:0; }
.rnw .minfo .row .ic{ width:46px; height:46px; flex:0 0 auto; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#1f5641; color:#c9a86a; font-size:1.2rem; }
.rnw .minfo .row small{ color:#b08d4f; letter-spacing:.16em; font-size:.7rem; font-weight:700; }
.rnw .minfo .row b{ display:block; font-size:1.1rem; color:#143029; font-weight:600; margin-top:2px; }
.rnw .minfo .row span{ color:#5c6b64; font-size:.92rem; }
.rnw .membed{ border-radius:18px; overflow:hidden; box-shadow:0 16px 40px -26px rgba(20,48,41,.4); border:1px solid rgba(20,48,41,.12); min-height:360px; }
.rnw .membed iframe{ width:100%; height:100%; min-height:360px; border:0; }

/* jinryo service rows */
.rnw-svc{ background:#fbf8f1; }
.rnw .srow{ display:grid; grid-template-columns:120px 1fr; gap:26px; align-items:flex-start; background:#fff;
  border:1px solid rgba(20,48,41,.12); border-radius:18px; padding:32px 30px; margin-bottom:22px; box-shadow:0 16px 40px -30px rgba(20,48,41,.4); }
.rnw .srow .sic{ width:100px; height:100px; border-radius:20px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg,#1f5641,#143029); color:#c9a86a; font-family:'Noto Serif KR',serif; font-size:2.6rem; font-weight:900; }
.rnw .srow h3{ font-size:1.5rem; color:#143029; margin:0 0 10px; font-weight:700; }
.rnw .srow p{ margin:0; color:#4e5d56; font-weight:300; font-size:1.05rem; line-height:1.9; }
.rnw .srow .tags{ margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
.rnw .srow .tags span{ background:#f1e9d8; color:#1f5641; border-radius:30px; padding:5px 14px; font-size:.85rem; font-weight:500; }

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .rnw .tgrid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:860px){
  .rnw-nav{ position:fixed; top:0; right:0; height:100%; width:min(78vw,300px); background:#102620;
    flex-direction:column; justify-content:center; align-items:flex-start; gap:4px; padding:60px 30px;
    transform:translateX(100%); transition:transform .3s; box-shadow:-20px 0 60px rgba(0,0,0,.4); }
  .rnw-nav.open{ transform:none; }
  .rnw-nav a{ width:100%; padding:14px 0; font-size:1.1rem; border-bottom:1px solid rgba(255,255,255,.08); }
  .rnw-nav a.rnw-tel{ margin-top:14px; display:inline-block; width:auto; border-bottom:0; }
  .rnw-ham{ display:block; }
  .rnw-hero .in{ flex-direction:column-reverse; text-align:center; }
  .rnw-hero .htxt{ flex:1 1 auto; } .rnw-hero .himg{ flex:0 0 auto; }
  .rnw-hero .himg img{ max-height:320px; }
  .rnw-hero p.lead{ margin-left:auto; margin-right:auto; }
  .rnw .tgrid{ grid-template-columns:repeat(2,1fr); }
  .rnw .hgrid{ grid-template-columns:1fr; }
  .rnw .lgrid{ grid-template-columns:1fr; }
  .rnw .mgrid{ grid-template-columns:1fr; }
  .rnw-ql .qgrid{ grid-template-columns:repeat(2,1fr); }
  .rnw-ql a:nth-child(odd){ border-right:1px solid rgba(255,255,255,.08); }
}
@media (max-width:560px){
  .rnw-bar{ height:60px; }
  .rnw{ font-size:16px; }
  .rnw section{ padding:52px 0; }
  .rnw-hero h1{ font-size:1.9rem; }
  .rnw .shead h2{ font-size:1.6rem; }
  .rnw .tgrid{ grid-template-columns:1fr; }
  .rnw-ql .qgrid{ grid-template-columns:1fr; }
  .rnw .srow{ grid-template-columns:1fr; text-align:center; }
  .rnw .srow .sic{ margin:0 auto; }
  .rnw .srow .tags{ justify-content:center; }
}

/* ---------- logo image + board dropdown ---------- */
.rnw-logo-img{ width:44px; height:44px; border-radius:50%; border:2px solid #c9a86a; object-fit:cover; background:#102620; flex:0 0 auto; }
.rnw-drop{ position:relative; }
.rnw-droptoggle{ cursor:pointer; }
.rnw-dropmenu{ display:none; position:absolute; top:100%; left:0; background:#102620; min-width:190px;
  box-shadow:0 20px 50px -20px rgba(0,0,0,.6); border:1px solid rgba(201,168,106,.25); border-radius:10px; padding:8px 0; z-index:1002; }
.rnw-drop:hover .rnw-dropmenu{ display:block; }
.rnw-dropmenu a{ display:block; padding:9px 18px; color:#eef3f0; font-size:.92rem; white-space:nowrap; }
.rnw-dropmenu a:hover{ background:rgba(201,168,106,.14); color:#c9a86a; }
@media (max-width:860px){
  .rnw-drop{ width:100%; }
  .rnw-dropmenu{ position:static; display:block; background:transparent; border:0; box-shadow:none; padding:2px 0 8px 14px; min-width:0; max-height:280px; overflow-y:auto; }
  .rnw-dropmenu a{ padding:10px 0; font-size:1rem; border-bottom:1px solid rgba(255,255,255,.06); }
  .rnw-logo-img{ width:38px; height:38px; }
}
