/* 김작가 사진이야기 — 사랑이야기 스튜디오 창원점
   자체 작성 CSS (외부 CDN·웹폰트 사용 안 함) */
:root{
  --beige:#f6f1e7;
  --ivory:#fffdf8;
  --ink:#3a3733;
  --gray:#6b665f;
  --line:#e4dccd;
  --accent:#8a6d4b;
  --accent-soft:#c9b393;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--beige);
  color:var(--ink);
  font-family:"Apple SD Gothic Neo","Malgun Gothic","Nanum Gothic","Noto Sans KR","Helvetica Neue",Arial,sans-serif;
  font-size:19px;
  line-height:1.95;
  letter-spacing:-0.01em;
  word-break:keep-all;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.4;letter-spacing:-0.02em}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}

/* header */
.site-header{
  background:var(--ivory);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
.site-header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;
}
.brand{color:var(--ink);font-weight:700;font-size:20px;line-height:1.3}
.brand span{display:block;font-weight:400;font-size:13px;color:var(--gray);letter-spacing:0}
.site-header nav a{margin-left:18px;color:var(--gray);font-size:15px}
.site-header nav a:hover{color:var(--accent)}

/* hero */
.hero{background:var(--ivory)}
.hero-photo img{width:100%;height:min(56vh,520px);object-fit:cover}
.hero-text{padding-top:34px;padding-bottom:40px}
.hero-text h1{font-size:38px;margin:0 0 6px}
.hero-text .sub{color:var(--accent);font-weight:600;margin:0 0 16px}
.hero-text p{max-width:640px;color:var(--ink)}
.hero-cta{margin-top:22px}
.hero-cta a{
  display:inline-block;padding:11px 22px;margin-right:10px;border-radius:999px;
  background:var(--accent);color:#fff;font-size:16px;font-weight:600;
}
.hero-cta a:last-child{background:transparent;color:var(--accent);border:1px solid var(--accent-soft)}
.hero-cta a:hover{text-decoration:none;opacity:.9}

/* sections */
.section{padding:52px 0}
.section h2{font-size:27px;margin:0 0 22px}
.section > .wrap > h2{border-left:5px solid var(--accent-soft);padding-left:14px}

/* space grid */
.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.space-card{margin:0;background:var(--ivory);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.space-card img{width:100%;height:230px;object-fit:cover}
.space-card figcaption{padding:16px 18px 20px}
.space-card figcaption strong{display:block;font-size:18px;margin-bottom:6px}
.space-card figcaption span{display:block;font-size:15px;color:var(--gray);line-height:1.75}

/* post grid */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{
  display:flex;flex-direction:column;background:var(--ivory);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink);
}
.post-card:hover{text-decoration:none;box-shadow:0 8px 22px rgba(120,100,70,.13);transform:translateY(-2px);transition:.15s}
.post-card img{width:100%;height:210px;object-fit:cover}
.post-card-body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.post-card-body h3{font-size:18px;margin:0 0 8px}
.post-card-body p{font-size:15px;color:var(--gray);margin:0 0 14px;line-height:1.75}
.post-card-body .more{margin-top:auto;font-size:14px;font-weight:600;color:var(--accent)}

/* post page */
.post{padding:34px 0 10px}
.crumb{font-size:15px;margin:0 0 18px}
.crumb a{color:var(--gray)}
.post-title{font-size:31px;margin:0 0 30px;padding-bottom:20px;border-bottom:2px solid var(--line)}
.post-body p{margin:0 0 26px}
.post-photo{margin:34px 0}
.post-photo img{width:100%;border-radius:12px}
.post-photo figcaption{margin-top:10px;font-size:14px;color:var(--gray);text-align:center}
.hashtags{margin:34px 0 0;font-size:15px;color:var(--accent);line-height:2}

/* faq */
.faq{margin-top:44px;padding-top:30px;border-top:2px solid var(--line)}
.faq h2{font-size:23px;margin:0 0 18px}
.faq-item{margin-bottom:22px}
.faq-item .q{font-weight:700;margin:0 0 6px}
.faq-item .a{margin:0;color:var(--gray)}

/* contact */
.contact-block{
  background:var(--ivory);border:1px solid var(--line);border-radius:14px;
  padding:24px 26px;margin:36px 0 10px;
}
.contact-block h2{font-size:20px;margin:0 0 14px}
.contact-block ul{list-style:none;margin:0;padding:0}
.contact-block li{font-size:16px;line-height:2;color:var(--ink)}
.contact-block li strong{display:inline-block;min-width:72px;color:var(--accent)}

/* footer */
.site-footer{background:#3a3733;color:#e9e2d5;margin-top:40px;padding:36px 0}
.site-footer .wrap{max-width:1060px}
.site-footer p{margin:0 0 8px;font-size:15px;line-height:1.8}
.foot-brand{font-weight:700;font-size:17px;color:#fff}
.foot-note{color:#b8ad9c;font-size:13px}

@media (max-width:900px){
  .space-grid,.post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  body{font-size:17.5px;line-height:1.9}
  .hero-text h1{font-size:30px}
  .post-title{font-size:25px}
  .section{padding:40px 0}
  .section h2{font-size:23px}
  .space-grid,.post-grid{grid-template-columns:1fr;gap:18px}
  .space-card img{height:210px}
  .post-card img{height:200px}
  .site-header nav a{margin-left:0;margin-right:14px}
}
