
:root{
  --cream:#f6f0e6;
  --cream2:#ede1d2;
  --paper:#fffdf8;
  --ink:#2c2119;
  --muted:#78695d;
  --gold:#b98a4a;
  --gold2:#dfc08b;
  --rose:#d98da5;
  --blue:#55a8dc;
  --line:rgba(63,42,25,.14);
  --shadow:0 28px 90px rgba(75,50,30,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;
  line-height:1.78;overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{width:min(1200px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:999;background:#fff;padding:10px 14px}

header{
  position:fixed;inset:0 0 auto;z-index:60;
  background:rgba(246,240,230,.88);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-size:22px;font-weight:900;letter-spacing:-.04em}
.brand b{color:var(--gold)}
nav{display:flex;gap:28px;font-size:14px;color:var(--muted)}
nav a:hover{color:var(--gold)}
.btn,.top-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 24px;border-radius:999px;font-weight:900;transition:.22s ease;
}
.top-btn,.btn.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#2b1f17;box-shadow:0 14px 34px rgba(185,138,74,.28)}
.btn.secondary{background:rgba(255,255,255,.55);border:1px solid var(--line)}
.btn:hover,.top-btn:hover{transform:translateY(-2px)}

.hero{
  min-height:940px;padding:120px 0 86px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,#fbf6ee,#efe0cf);
}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
h1{font-size:clamp(54px,7.5vw,98px);line-height:1.01;letter-spacing:-.065em;margin:18px 0 25px}
.hero p{font-size:20px;color:var(--muted);max-width:650px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-note{font-size:13px;color:#9b8b7e;margin-top:17px}
.hero-media{
  position:relative;padding:12px;border:1px solid rgba(185,138,74,.28);
  background:rgba(255,255,255,.45);box-shadow:var(--shadow);
}
.hero-media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.hero-caption{
  position:absolute;left:-28px;bottom:26px;background:rgba(255,253,248,.94);
  backdrop-filter:blur(12px);padding:17px 20px;border:1px solid var(--line);min-width:260px;
}
.hero-caption strong{display:block;font-size:18px}.hero-caption span{font-size:13px;color:var(--muted)}

.ribbon{
  background:var(--ink);color:#fff;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ribbon-track{
  display:flex;gap:48px;white-space:nowrap;padding:14px 0;
  animation:marquee 26s linear infinite;font-size:12px;letter-spacing:.17em;
}
@keyframes marquee{to{transform:translateX(-50%)}}

section{padding:110px 0}
.section-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start;margin-bottom:48px}
.section-label{font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--gold);text-transform:uppercase}
h2{font-size:clamp(38px,5vw,66px);line-height:1.08;letter-spacing:-.055em;margin:10px 0}
.section-head p{margin-top:12px;color:var(--muted);max-width:690px}

.story{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.story-image{position:relative}.story-image img{width:100%;aspect-ratio:16/10;object-fit:cover;box-shadow:var(--shadow)}
.story-note{position:absolute;right:18px;bottom:18px;background:rgba(255,253,248,.92);padding:15px 18px;border:1px solid var(--line);max-width:300px}
.story-list{border-top:1px solid var(--line)}
.story-item{padding:25px 0;border-bottom:1px solid var(--line)}
.story-item b{display:block;font-size:12px;letter-spacing:.14em;color:var(--gold);margin-bottom:7px}
.story-item p{margin:0;color:var(--muted)}

.dark{background:#251b15;color:#fff}
.dark .section-label{color:var(--gold2)}
.dark .section-head p{color:#c6b8ac}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.value{padding:32px;background:#251b15}
.value span{display:block;font-size:12px;letter-spacing:.14em;color:var(--gold2)}
.value h3{font-size:24px;margin:18px 0 10px}
.value p{color:#c6b8ac;margin:0}

.summer{
  padding:0;background:#e7f4fb;color:#13364b;
}
.summer-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:stretch}
.summer-image img{width:100%;height:100%;object-fit:cover;min-height:580px}
.summer-copy{padding:70px 50px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#eff9ff,#d8f1ff)}
.summer-copy .section-label{color:#1886bb}
.summer-copy p{color:#4f6e7e}
.summer-copy .btn.primary{background:linear-gradient(135deg,#62c6f1,#2c8fc7);color:#fff}

.checks{border-top:1px solid var(--line)}
.check{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}
.check i{font-style:normal;font-weight:900;color:var(--gold)}
.check span{display:block;color:var(--muted);font-size:14px}

.steps{counter-reset:step;border-top:1px solid var(--line)}
.step{counter-increment:step;display:grid;grid-template-columns:90px 1fr 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.step:before{content:"0" counter(step);font-size:14px;color:var(--gold);font-weight:900}
.step p{margin:0;color:var(--muted)}

.area{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.area-main{min-height:430px;padding:42px;background:linear-gradient(145deg,#8f6b3d,#c8a364);color:#fff;display:flex;flex-direction:column;justify-content:end}
.area-main p{color:#f4ead9}
.area-list{border-top:1px solid var(--line)}
.area-row{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.area-row span{font-size:12px;letter-spacing:.12em;color:var(--gold);font-weight:900}
.area-row p{margin:0;color:var(--muted)}

.manager{background:var(--paper)}
.manager-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;align-items:center}
.manager-card{padding:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.manager-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.manager-copy p{color:var(--muted)}
.manager-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.manager-point{padding:20px;background:#fff;border:1px solid var(--line)}
.manager-point b{display:block;color:var(--gold);font-size:12px}.manager-point span{font-size:14px;color:var(--muted)}

.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{padding:28px;border:1px solid var(--line);background:#fbf7f0}
.review p{color:var(--muted)}

details{border-top:1px solid var(--line)}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:22px 38px 22px 0;font-weight:900;position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:0;font-size:24px;color:var(--gold)}
details[open] summary:after{content:"−"}
details p{color:var(--muted);margin:0 0 22px;max-width:820px}

.cta{
  background:linear-gradient(145deg,#2d2119,#17110d);color:#fff;
}
.cta-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.cta p{color:#cfc0b5}.cta img{width:100%;aspect-ratio:16/10;object-fit:cover}
footer{padding:40px 0 116px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

.mobile-bar{display:none}
.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}
.reveal.show{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:980px){
  nav,.top-btn{display:none}
  .hero-grid,.section-head,.story,.summer-grid,.area,.manager-grid,.cta-grid{grid-template-columns:1fr}
  .hero-media{order:-1}.hero-caption{left:14px}
  .values{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .summer-image img{min-height:420px}
  .step{grid-template-columns:60px 1fr}.step p{grid-column:2}
  .mobile-bar{display:grid;grid-template-columns:1fr 1.15fr;position:fixed;left:12px;right:12px;bottom:12px;z-index:70;padding:8px;gap:8px;background:rgba(246,240,230,.97);border:1px solid var(--line);box-shadow:var(--shadow)}
  .mobile-bar a{min-height:52px;display:grid;place-items:center;font-weight:900}
  .mobile-bar a:first-child{border:1px solid var(--line)}
  .mobile-bar a:last-child{background:var(--ink);color:#fff}
}
@media(max-width:580px){
  .wrap{width:min(100% - 26px,1200px)}
  .hero{min-height:auto;padding-top:104px}.hero h1{font-size:58px}.hero p{font-size:17px}
  .actions .btn{width:100%}
  section{padding:82px 0}
  .values,.manager-points{grid-template-columns:1fr}
  .summer-copy{padding:48px 24px}
  .area-row{grid-template-columns:1fr}
}
