/* 더뉴플라워 정보 허브 공통 레이아웃 */
.hub-page { background: #faf8f5; color: #18221d; font-family: var(--font-sans, system-ui, sans-serif); line-height: 1.7; }
.hub-wrap { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.hub-header { background: #071911; color: #fff; padding: 14px 0; }
.hub-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hub-brand { color: #fff; font-size: 1.15rem; font-weight: 800; text-decoration: none; letter-spacing: -.03em; }
.hub-brand span { color: #e8bf73; }
.hub-nav { display: flex; flex-wrap: wrap; gap: 12px 18px; }
.hub-nav a { color: #dce7df; font-size: .9rem; text-decoration: none; }
.hub-nav a:hover, .hub-nav a:focus-visible { color: #f1d495; text-decoration: underline; }
.hub-hero { padding: 62px 0 48px; background: linear-gradient(135deg, #0d261b 0%, #123c29 62%, #1d543a 100%); color: #fff; }
.hub-eyebrow { color: #f1d495; font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.hub-hero h1 { max-width: 850px; margin: 12px 0; font-family: var(--font-serif, serif); font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.25; letter-spacing: -.055em; }
.hub-hero p { max-width: 720px; color: #e2eee6; font-size: 1.05rem; }
.hub-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.hub-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; padding: 0 21px; background: #e8bf73; color: #092015; font-weight: 800; text-decoration: none; }
.hub-button--line { background: transparent; border: 1px solid rgba(255,255,255,.55); color: #fff; }
.hub-section { padding: 58px 0; }
.hub-section--white { background: #fff; }
.hub-section h2 { margin-bottom: 11px; font-family: var(--font-serif, serif); font-size: clamp(1.55rem, 3vw, 2.3rem); letter-spacing: -.045em; line-height: 1.35; }
.hub-lead { max-width: 760px; color: #57655d; }
.hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 27px; }
.hub-card { overflow: hidden; border: 1px solid rgba(18,60,41,.1); border-radius: 18px; background: #fff; box-shadow: 0 8px 25px rgba(7,25,17,.06); }
.hub-card img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.hub-card__body { padding: 21px; }
.hub-card__label { display: inline-block; margin-bottom: 7px; color: #1d543a; font-size: .82rem; font-weight: 800; }
.hub-card h3 { margin-bottom: 7px; font-size: 1.18rem; letter-spacing: -.035em; }
.hub-card p { color: #57655d; font-size: .94rem; }
.hub-price { display: block; margin-top: 15px; color: #123c29; font-size: 1.08rem; font-weight: 900; }
.hub-note { margin-top: 26px; border-left: 4px solid #c69a4c; padding: 17px 19px; background: #f9f4e8; color: #3e4d43; }
.hub-list { display: grid; gap: 12px; margin-top: 24px; padding: 0; list-style: none; }
.hub-list li { position: relative; padding: 17px 18px 17px 45px; border: 1px solid rgba(18,60,41,.1); border-radius: 13px; background: #fff; }
.hub-list li::before { position: absolute; left: 18px; color: #c69a4c; content: "✓"; font-weight: 900; }
.hub-crumb { padding: 15px 0; color: #66756c; font-size: .86rem; }
.hub-crumb a { color: inherit; text-decoration: none; }
.hub-crumb ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.hub-crumb li + li::before { margin-right: 7px; color: #a0aca5; content: "/"; }
.hub-faq { margin-top: 25px; }
.hub-faq details { border-bottom: 1px solid rgba(18,60,41,.13); padding: 18px 0; }
.hub-faq summary { cursor: pointer; font-weight: 800; letter-spacing: -.02em; }
.hub-faq p { margin-top: 12px; color: #536158; }
.hub-footer { padding: 35px 0; background: #071911; color: #c9d6cd; font-size: .9rem; }
.hub-footer a { color: #f1d495; }
@media (max-width: 720px) { .hub-wrap { width: min(100% - 30px, 1120px); } .hub-header__inner { align-items: flex-start; flex-direction: column; } .hub-hero { padding: 45px 0 38px; } .hub-grid { grid-template-columns: 1fr; } .hub-section { padding: 43px 0; } }
