
:root{
  --ink:#242526; --muted:#6c6a66; --paper:#f3f0ea; --cream:#faf8f3;
  --white:#fff; --line:#ded8cf; --warm:#b59c7b; --warm2:#d8c7ae;
  --charcoal:#2e302f; --max:1180px; --shadow:0 20px 55px rgba(40,36,31,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;word-break:keep-all}
a{color:inherit}
img{max-width:100%}
.wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.top{position:sticky;top:0;z-index:50;background:rgba(250,248,243,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,216,207,.82)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{text-decoration:none;font-weight:900;font-size:20px;letter-spacing:-.035em}
.brand small{display:block;color:#9a8265;font-size:9px;letter-spacing:.21em;margin-top:3px}
.menu{display:flex;align-items:center;gap:22px}
.menu a{text-decoration:none;font-size:13px;font-weight:760}
.menu .cta{padding:11px 17px;border-radius:999px;background:var(--charcoal);color:#fff}
.mobileBtn{display:none;border:0;background:transparent;font-size:25px}
.mobilePanel{display:none}
.hero{padding:108px 0 88px;overflow:hidden}
.heroGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.kicker{font-size:11px;letter-spacing:.2em;font-weight:900;color:#9a8265;text-transform:uppercase}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(55px,7vw,92px);font-weight:500;letter-spacing:-.06em;line-height:.98;margin:18px 0 25px}
.hero h1 strong{font-family:Pretendard,"Noto Sans KR",sans-serif;font-weight:800;display:block;font-size:.52em;letter-spacing:-.055em;margin-bottom:13px}
.heroCopy{max-width:720px;color:var(--muted);font-size:16px;line-height:1.95}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:850;transition:.2s}
.btn.dark{background:var(--charcoal);color:#fff}
.btn.light{border:1px solid var(--line);background:#fff}
.btn:hover{transform:translateY(-1px)}
.archVisual{min-height:530px;background:linear-gradient(140deg,#ded7cc,#f2ece3);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.archVisual:before{content:"";position:absolute;left:11%;top:8%;width:68%;height:75%;border:1px solid rgba(46,48,47,.25)}
.archVisual:after{content:"";position:absolute;right:8%;bottom:8%;width:52%;height:54%;background:#ede6dc;border-left:1px solid rgba(46,48,47,.25);border-top:1px solid rgba(46,48,47,.25)}
.archLine{position:absolute;background:rgba(46,48,47,.32)}
.archLine.a{width:1px;height:78%;left:36%;top:11%}.archLine.b{height:1px;width:73%;left:15%;top:44%}
.archLabel{position:absolute;left:28px;bottom:28px;font-size:11px;letter-spacing:.16em;color:#6d655c;z-index:2}
.photoNote{position:absolute;right:24px;top:24px;background:rgba(250,248,243,.86);padding:9px 11px;font-size:10px;letter-spacing:.08em;z-index:3}
.section{padding:92px 0}
.section.soft{background:var(--paper)}
.section.dark{background:var(--charcoal);color:#fff}
.sectionHead{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:start;margin-bottom:46px}
.eyebrow{font-size:10px;font-weight:900;letter-spacing:.2em;color:#9a8265}
.section.dark .eyebrow{color:#cdbb9e}
h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,62px);font-weight:500;letter-spacing:-.055em;line-height:1.05;margin:8px 0 0}
h2 .ko{display:block;font-family:Pretendard,"Noto Sans KR",sans-serif;font-size:.54em;font-weight:820;line-height:1.25;letter-spacing:-.045em;margin-bottom:10px}
.lead{color:var(--muted);font-size:15px;line-height:1.95;margin:0;max-width:760px}
.section.dark .lead{color:#c7c5c0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);padding:28px;min-height:235px}
.card .num{font-family:Georgia,serif;color:#a58c6b;font-size:14px}
.card h3{font-size:20px;letter-spacing:-.035em;margin:24px 0 10px}
.card p{font-size:13.5px;line-height:1.85;color:var(--muted);margin:0}
.linkCard{text-decoration:none;display:block;transition:.2s}
.linkCard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.linkArrow{display:inline-block;margin-top:24px;font-size:12px;font-weight:900}
.localStrip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.localStrip div{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.localStrip b{font-size:15px}
.localStrip span{display:block;margin-top:6px;color:var(--muted);font-size:11.5px}
.quoteBox{border-left:1px solid #bda789;padding:8px 0 8px 28px;max-width:850px}
.quoteBox strong{display:block;font-size:28px;letter-spacing:-.04em;line-height:1.45}
.quoteBox p{margin:13px 0 0;color:#c9c6c0;line-height:1.8;font-size:13.5px}
.steps{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #ffffff27}
.step{padding:24px 17px;border-right:1px solid #ffffff18}
.step:last-child{border-right:0}
.step small{color:#d3c1a6;font-weight:900}.step h3{font-size:15px;margin:12px 0 8px}.step p{font-size:12px;color:#aaa9a5;line-height:1.75;margin:0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:20px 0;font-weight:850;cursor:pointer}
.faq details p{color:var(--muted);line-height:1.85;font-size:13.5px;padding:0 0 20px;margin:0;max-width:900px}
.ctaBand{padding:68px 0;background:#d9c9b2}
.ctaGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.ctaGrid h2{font-size:clamp(36px,5vw,58px)}
.ctaRight{text-align:right}
.breadcrumb{padding:27px 0 0;color:#8d8982;font-size:11px}
.breadcrumb a{text-decoration:none}
.pageHero{padding:72px 0 64px}
.pageHeroGrid{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end}
.pageHero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,76px);font-weight:500;letter-spacing:-.06em;line-height:1;margin:14px 0 22px}
.pageHero h1 .ko{display:block;font-family:Pretendard,"Noto Sans KR",sans-serif;font-size:.54em;font-weight:850;line-height:1.2;margin-bottom:10px}
.pageHero .desc{color:var(--muted);line-height:1.95;font-size:15px;max-width:760px}
.sideFact{border-top:1px solid var(--line);padding-top:20px}
.sideFact dl{display:grid;grid-template-columns:105px 1fr;gap:12px 18px;margin:0;font-size:12px}
.sideFact dt{color:#958f87}.sideFact dd{margin:0;font-weight:750}
.contentGrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:62px}
.stickyTitle{position:sticky;top:108px;height:max-content}
.stickyTitle h2{font-size:42px}
.article h3{font-size:23px;letter-spacing:-.04em;margin:0 0 12px}
.article p,.article li{color:var(--muted);font-size:14px;line-height:1.95}
.articleBlock{padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.articleBlock:last-child{border-bottom:0}
.checkList{padding:0;margin:16px 0 0;list-style:none}
.checkList li{padding:10px 0;border-bottom:1px dotted #d5cfc5}
.checkList li:before{content:"✓";margin-right:10px;color:#9c7f5c;font-weight:900}
.note{background:#eee7dc;padding:22px 24px;margin:22px 0;color:#5f5a53;font-size:13px;line-height:1.85}
.serviceLinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.serviceLinks a{padding:10px 12px;border:1px solid var(--line);text-decoration:none;font-size:11.5px;background:#fff}
.portfolioGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.portfolioSlot{min-height:320px;background:linear-gradient(145deg,#e6e0d7,#f6f2eb);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;position:relative}
.portfolioSlot:before{content:"PHOTO SLOT";position:absolute;top:18px;left:18px;font-size:9px;letter-spacing:.18em;color:#8d8376}
.portfolioSlot b{font-size:17px}.portfolioSlot span{color:#766f66;font-size:11.5px;margin-top:6px;line-height:1.6}
.formLayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px;align-items:start}
.infoCard,.formCard{background:#fff;border:1px solid var(--line);padding:28px}
.infoCard h3,.formCard h3{font-size:23px;margin:0 0 16px}
.infoCard p{color:var(--muted);line-height:1.9;font-size:13.5px}
.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:11.5px;font-weight:850;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid #d8d2c9;background:#fff;padding:12px 13px;border-radius:0;font:inherit;font-size:13px}
.field textarea{min-height:115px;resize:vertical}
.consent{display:flex;align-items:flex-start;gap:8px;margin:15px 0;color:var(--muted);font-size:11.5px;line-height:1.6}
.submit{width:100%;min-height:53px;border:0;background:var(--charcoal);color:#fff;font-weight:900;cursor:pointer}
.status{display:none;margin-top:12px;padding:12px;font-size:12px}.status.show{display:block}.status.ok{background:#e7f3e9;color:#2d6538}.status.warn{background:#fff2da;color:#765516}.hp{position:absolute;left:-9999px}
footer{background:#242625;color:#aaa8a3;padding:45px 0 94px}
.footerGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px}
footer b{color:#fff;font-size:16px}
footer p{font-size:11.5px;line-height:1.85;margin:10px 0 0}
.biz{border-top:1px solid #ffffff13;margin-top:14px;padding-top:13px;display:flex;flex-wrap:wrap;gap:4px 12px;color:#858682;font-size:10.8px}
.footerLinks{display:flex;gap:13px;flex-wrap:wrap;margin-top:11px}
footer a{color:#d5d3ce;text-decoration:none;font-size:11.5px}
.mobileCta{display:none}
@media(max-width:930px){
  .heroGrid,.sectionHead,.pageHeroGrid,.contentGrid,.ctaGrid,.formLayout{grid-template-columns:1fr}
  .archVisual{min-height:420px}.grid3{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(3,1fr)}
  .stickyTitle{position:static}.ctaRight{text-align:left}.portfolioGrid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{padding-bottom:70px}.wrap{width:min(100% - 36px,var(--max))}
  .nav{height:67px}.menu{display:none}.mobileBtn{display:block}.mobilePanel.open{display:block;position:fixed;left:0;right:0;top:67px;background:#faf8f3;border-bottom:1px solid var(--line);padding:12px 18px;z-index:49}
  .mobilePanel a{display:block;padding:12px 4px;text-decoration:none;font-size:13px;border-bottom:1px solid #e8e2d9}
  .hero{padding:72px 0 60px}.hero h1{font-size:54px}.archVisual{min-height:330px}
  .section{padding:70px 0}.sectionHead{gap:20px}.grid3,.grid2,.localStrip,.portfolioGrid,.formGrid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid #ffffff18}
  .pageHero{padding:48px 0}.pageHeroGrid{gap:30px}
  .footerGrid{grid-template-columns:1fr;gap:25px}
  .mobileCta{display:grid;grid-template-columns:1fr 1fr;gap:7px;position:fixed;left:8px;right:8px;bottom:7px;background:#242625;padding:7px;z-index:60}
  .mobileCta a{text-align:center;text-decoration:none;padding:12px 6px;font-size:12px;font-weight:900;background:#fff}
  .mobileCta a:first-child{background:#d8c7ae}
}
