
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&display=swap');

:root{
  --bg:#f5f1eb;
  --bg-soft:#fbf8f4;
  --panel:#ffffff;
  --ink:#211d1a;
  --muted:#72685f;
  --line:rgba(33,29,26,.08);
  --accent:#b79372;
  --accent-2:#8a6a4c;
  --shadow:0 24px 60px rgba(33,29,26,.10);
  --radius:26px;
  --radius-sm:18px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--ink); background:linear-gradient(180deg,#f6f2ec 0%,#fbf7f1 100%);
  font-family:'Pretendard',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.65; letter-spacing:-.01em;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 32px), var(--max)); margin:0 auto}
.section{padding:96px 0}
.section.tight{padding:72px 0}
.eyebrow{display:inline-flex; gap:8px; align-items:center; padding:8px 14px; border-radius:999px; background:rgba(183,147,114,.12); color:var(--accent-2); font-size:.82rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em}
.display{font-family:'Cormorant Garamond',serif; font-weight:600; line-height:.95; letter-spacing:-.03em}
.h1{font-size:clamp(3rem,9vw,6rem)}
.h2{font-size:clamp(2rem,5vw,3.7rem)}
.h3{font-size:clamp(1.6rem,3vw,2.3rem)}
.lead{font-size:1.08rem; color:var(--muted); max-width:760px}
.copy{color:var(--muted)}
.grid{display:grid; gap:24px}
.btn-row{display:flex; flex-wrap:wrap; gap:14px}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 22px; border-radius:999px; font-weight:600; border:1px solid transparent; transition:.25s ease; cursor:pointer}
.btn.primary{background:linear-gradient(135deg,var(--accent) 0%, #d6b595 100%); color:#fff; box-shadow:0 16px 40px rgba(183,147,114,.28)}
.btn.primary:hover{transform:translateY(-2px); box-shadow:0 22px 50px rgba(183,147,114,.38)}
.btn.secondary{background:#fff; border-color:var(--line)}
.btn.secondary:hover{background:#faf7f2; transform:translateY(-2px)}
.btn.ghost{border-color:rgba(255,255,255,.2); color:#fff; background:rgba(255,255,255,.08); backdrop-filter:blur(12px)}
.btn.small{min-height:42px; padding:0 16px; font-size:.94rem}
.card{background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.5); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden}
.panel{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow)}
.kpi-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.kpi{padding:26px; background:rgba(255,255,255,.78); border-radius:24px; border:1px solid rgba(33,29,26,.06); box-shadow:0 15px 40px rgba(33,29,26,.06)}
.kpi strong{display:block; font-size:2rem; line-height:1; margin-bottom:10px; font-family:'Cormorant Garamond',serif}
.topbar{background:#211d1a; color:#f4ede5; font-size:.92rem}
.topbar .container{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0}
.topbar-note{display:flex; gap:14px; flex-wrap:wrap; opacity:.88}
.site-header{position:sticky; top:0; z-index:40; backdrop-filter:blur(18px); background:rgba(246,242,236,.78); border-bottom:1px solid rgba(33,29,26,.06)}
.site-header .container{display:flex; align-items:center; justify-content:space-between; gap:22px; padding:18px 0}
.brand{display:flex; align-items:center; gap:14px; min-width:max-content}
.brand-mark{display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:linear-gradient(135deg,#1f1a17 0%, #69513a 100%); color:#fff; font-family:'Cormorant Garamond',serif; font-size:1.25rem; letter-spacing:.12em}
.brand-text{line-height:1.05}
.brand-name{font-family:'Cormorant Garamond',serif; font-size:1.75rem; letter-spacing:.08em}
.brand-sub{font-size:.78rem; color:var(--muted); letter-spacing:.16em; text-transform:uppercase}
.nav{display:flex; align-items:center; gap:12px; flex:1; justify-content:flex-end}
.nav-links{display:flex; align-items:center; gap:2px; background:rgba(255,255,255,.7); border:1px solid rgba(33,29,26,.06); padding:6px; border-radius:999px}
.nav-links a{padding:10px 16px; border-radius:999px; color:var(--muted); font-weight:500; font-size:.95rem}
.nav-links a.active,.nav-links a:hover{background:#fff; color:var(--ink); box-shadow:0 8px 20px rgba(33,29,26,.06)}
.nav-actions{display:flex; gap:10px; align-items:center}
.menu-toggle{display:none; width:46px; height:46px; border:none; background:#fff; border-radius:14px; box-shadow:0 10px 24px rgba(33,29,26,.08)}
.mobile-drawer{display:none}
.hero{position:relative; overflow:hidden; padding:72px 0 42px}
.hero-grid{display:grid; grid-template-columns:1.08fr .92fr; gap:28px; align-items:stretch}
.hero-card{position:relative; min-height:660px; border-radius:36px; overflow:hidden; color:#fff; box-shadow:0 30px 70px rgba(33,29,26,.22)}
.hero-card::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,18,16,.18),rgba(20,18,16,.60)); z-index:1}
.hero-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.hero-content{position:relative; z-index:2; display:flex; flex-direction:column; justify-content:space-between; height:100%; padding:40px}
.hero-bullets{display:grid; gap:14px; margin-top:24px}
.hero-bullets div{display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.08); backdrop-filter:blur(16px); max-width:530px}
.hero-side{display:grid; gap:24px}
.hero-stack{display:grid; gap:24px}
.mini-card{position:relative; overflow:hidden; border-radius:28px; min-height:318px; color:#fff; box-shadow:var(--shadow)}
.mini-card::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(24,20,17,.02),rgba(24,20,17,.58)); z-index:1}
.mini-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.mini-card .inner{position:relative; z-index:2; padding:28px; display:flex; flex-direction:column; justify-content:space-between; height:100%}
.stats-strip{margin-top:26px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.stat-chip{padding:18px; border-radius:22px; background:#fff; color:var(--ink)}
.stat-chip strong{display:block; font-family:'Cormorant Garamond',serif; font-size:2rem; line-height:1}
.badge-list,.tag-list{display:flex; flex-wrap:wrap; gap:10px}
.badge,.tag{display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:999px; background:rgba(33,29,26,.05); color:var(--muted); font-size:.92rem; font-weight:500}
.signature-grid,.designer-grid,.service-grid,.feature-grid,.contact-grid,.faq-grid,.gallery-grid,.offer-grid{display:grid; gap:24px}
.signature-grid{grid-template-columns:repeat(3,1fr)}
.designer-grid{grid-template-columns:repeat(3,1fr)}
.service-grid{grid-template-columns:repeat(4,1fr)}
.feature-grid{grid-template-columns:repeat(2,1fr)}
.contact-grid{grid-template-columns:1.1fr .9fr}
.offer-grid{grid-template-columns:repeat(2,1fr)}
.signature-card,.service-card,.faq-card,.review-card,.offer-card,.feature-card,.contact-card{padding:28px}
.signature-card h3,.service-card h3,.offer-card h3,.feature-card h3{margin:10px 0 8px; font-size:1.35rem}
.price{display:inline-flex; align-items:center; padding:7px 12px; border-radius:999px; background:rgba(183,147,114,.14); color:var(--accent-2); font-weight:700; font-size:.92rem}
.designer-card{display:flex; flex-direction:column; overflow:hidden}
.designer-photo{aspect-ratio:4/5; overflow:hidden}
.designer-photo img{width:100%; height:100%; object-fit:cover}
.designer-body{padding:28px}
.designer-meta{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:.93rem; margin-bottom:12px}
.quote-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.review-card{background:linear-gradient(180deg,#fff 0%, #faf6f0 100%)}
.review-quote{font-size:1.02rem; margin:12px 0 0}
.media-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:24px; align-items:stretch}
.media-grid.reverse{grid-template-columns:.95fr 1.05fr}
.media-grid img{width:100%; height:100%; object-fit:cover; border-radius:28px}
.media-copy{padding:34px}
.dual-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px}
.image-stack{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.image-stack img{border-radius:24px; height:100%; object-fit:cover}
.timeline{display:grid; gap:18px}
.timeline-step{display:grid; grid-template-columns:56px 1fr; gap:18px; align-items:flex-start}
.timeline-step span{display:grid; place-items:center; width:56px; height:56px; border-radius:20px; background:linear-gradient(135deg,#e7d2bc,#cfad89); color:#fff; font-weight:700; font-size:1.1rem}
.form-wrap{padding:34px}
.form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.field{display:grid; gap:8px}
.field.full{grid-column:1/-1}
label{font-weight:600; font-size:.95rem}
input,select,textarea{width:100%; min-height:52px; padding:14px 16px; border:1px solid rgba(33,29,26,.12); border-radius:18px; background:#fff; color:var(--ink); outline:none; transition:.2s ease}
textarea{min-height:120px; resize:vertical}
input:focus,select:focus,textarea:focus{border-color:rgba(183,147,114,.85); box-shadow:0 0 0 4px rgba(183,147,114,.12)}
.helper{font-size:.9rem; color:var(--muted)}
.notice{padding:18px 20px; border-radius:22px; background:rgba(183,147,114,.12); color:var(--accent-2)}
.filter-bar{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px}
.filter-btn{padding:10px 16px; border:none; border-radius:999px; background:#fff; color:var(--muted); box-shadow:0 8px 20px rgba(33,29,26,.05); cursor:pointer}
.filter-btn.active{background:linear-gradient(135deg,var(--accent),#d2b18e); color:#fff}
.gallery-grid{grid-template-columns:repeat(4,1fr)}
.gallery-item{display:block; position:relative; overflow:hidden; border-radius:26px; background:#fff; box-shadow:var(--shadow)}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-item .gallery-caption{position:absolute; left:16px; right:16px; bottom:16px; color:#fff; padding:14px 16px; border-radius:18px; background:rgba(24,20,17,.42); backdrop-filter:blur(14px)}
.gallery-item[data-hide="true"]{display:none}
.lightbox{position:fixed; inset:0; background:rgba(18,15,12,.82); display:none; place-items:center; padding:24px; z-index:90}
.lightbox.open{display:grid}
.lightbox img{max-width:min(92vw,1100px); max-height:84vh; border-radius:24px; box-shadow:0 24px 70px rgba(0,0,0,.4)}
.lightbox button{position:absolute; top:22px; right:22px; width:48px; height:48px; border-radius:50%; border:none; background:#fff; cursor:pointer; font-size:1.2rem}
.faq-item{border-top:1px solid var(--line)}
.faq-item:first-child{border-top:none}
.faq-question{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0; cursor:pointer; font-weight:700}
.faq-answer{max-height:0; overflow:hidden; transition:max-height .25s ease}
.faq-answer p{padding:0 0 18px; margin:0; color:var(--muted)}
.faq-item.open .faq-answer{max-height:220px}
.page-hero{padding:84px 0 40px}
.page-hero-grid{display:grid; grid-template-columns:1.02fr .98fr; gap:28px; align-items:center}
.page-hero .visual{min-height:420px; border-radius:32px; overflow:hidden; box-shadow:var(--shadow)}
.page-hero .visual img{width:100%; height:100%; object-fit:cover}
.compare-box{display:grid; gap:18px; padding:28px}
.picker{display:flex; flex-wrap:wrap; gap:10px}
.picker button{border:none; background:#fff; padding:10px 15px; border-radius:999px; box-shadow:0 8px 20px rgba(33,29,26,.05); cursor:pointer}
.picker button.active{background:#211d1a; color:#fff}
.rec-result{padding:20px; border-radius:22px; background:linear-gradient(135deg,#fff 0%, #f6ede1 100%); border:1px solid rgba(183,147,114,.18)}
.score-table{display:grid; gap:12px}
.score-row{display:grid; grid-template-columns:180px 1fr auto; gap:16px; align-items:center}
.progress{position:relative; height:10px; background:rgba(33,29,26,.08); border-radius:999px; overflow:hidden}
.progress > i{position:absolute; inset:0 auto 0 0; width:0; background:linear-gradient(135deg,var(--accent),#d5b698); border-radius:999px}
.cta-banner{padding:40px; border-radius:34px; background:linear-gradient(135deg,#201b18 0%, #4f3a27 100%); color:#fff; box-shadow:var(--shadow)}
.cta-banner .grid{grid-template-columns:1fr auto; align-items:center}
.split-banner{display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:center; overflow:hidden}
.split-banner .visual{min-height:100%;}
.split-banner .visual img{height:100%; width:100%; object-fit:cover}
.footer{padding:60px 0 110px; background:#1d1815; color:#eee2d2; margin-top:80px}
.footer-grid{display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:28px}
.footer a{color:#eee2d2cc}
.footer small,.footer p{color:#cdbdab}
.footer-title{font-family:'Cormorant Garamond',serif; font-size:2rem; letter-spacing:.08em; margin-bottom:10px}
.sticky-cta{position:fixed; left:50%; transform:translateX(-50%); bottom:18px; width:min(calc(100% - 24px),820px); background:rgba(255,255,255,.78); backdrop-filter:blur(20px); border:1px solid rgba(33,29,26,.08); box-shadow:0 24px 60px rgba(33,29,26,.14); padding:10px; border-radius:999px; z-index:60; display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.sticky-cta .btn{min-height:48px; font-size:.94rem}
.reveal{opacity:0; transform:translateY(24px); transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1; transform:none}
.quiz-modal{position:fixed; inset:0; display:none; place-items:center; background:rgba(18,15,12,.72); z-index:95; padding:16px}
.quiz-modal.open{display:grid}
.quiz-shell{width:min(720px,100%); border-radius:30px; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.24); overflow:hidden}
.quiz-head{padding:26px 28px; background:linear-gradient(135deg,#201b18,#5d4631); color:#fff; display:flex; justify-content:space-between; gap:16px; align-items:center}
.quiz-body{padding:28px}
.quiz-options{display:grid; gap:12px; margin-top:18px}
.option{padding:16px 18px; border-radius:18px; border:1px solid var(--line); cursor:pointer; transition:.2s ease}
.option:hover,.option.selected{border-color:rgba(183,147,114,.8); background:#faf4ec}
.quiz-actions{display:flex; justify-content:space-between; gap:12px; margin-top:22px}
.quiz-close{width:42px; height:42px; border:none; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; cursor:pointer}
.hidden{display:none!important}
@media (max-width:1100px){
  .hero-grid,.page-hero-grid,.media-grid,.media-grid.reverse,.split-banner,.contact-grid,.footer-grid,.cta-banner .grid{grid-template-columns:1fr}
  .signature-grid,.designer-grid,.service-grid,.quote-grid,.gallery-grid,.kpi-grid,.offer-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:1fr}
}
@media (max-width:820px){
  .section{padding:72px 0}
  .site-header .container{padding:14px 0}
  .nav-links,.nav-actions .desktop-only{display:none}
  .menu-toggle{display:inline-grid; place-items:center}
  .mobile-drawer{position:fixed; inset:76px 16px auto; display:grid; gap:10px; background:rgba(255,255,255,.98); border-radius:26px; padding:16px; box-shadow:var(--shadow); opacity:0; pointer-events:none; transform:translateY(-10px); transition:.22s ease; z-index:45}
  .mobile-drawer.open{opacity:1; pointer-events:auto; transform:none}
  .mobile-drawer a,.mobile-drawer button{padding:14px 16px; border-radius:16px; background:#faf7f1; border:none; text-align:left}
  .hero{padding-top:42px}
  .hero-card{min-height:560px}
  .hero-content{padding:30px}
  .stats-strip,.form-grid,.dual-grid{grid-template-columns:1fr}
  .signature-grid,.designer-grid,.service-grid,.quote-grid,.gallery-grid,.kpi-grid,.offer-grid{grid-template-columns:1fr}
  .sticky-cta{grid-template-columns:1fr 1fr 1fr}
  .footer{padding-bottom:120px}
}
@media (max-width:560px){
  .container{width:min(calc(100% - 20px), var(--max))}
  .hero-bullets div{padding:12px 14px}
  .sticky-cta{bottom:12px}
  .sticky-cta .btn{min-height:46px; padding:0 10px; font-size:.87rem}
  .brand-mark{width:40px;height:40px}
  .brand-name{font-size:1.55rem}
  .h1{font-size:clamp(2.7rem,13vw,4.6rem)}
  .page-hero{padding-top:60px}
}
