:root{--bg:#f4f0e6;--ink:#233d34;--accent:#233d34;--on-accent:#fffaf0;--muted:#636e61;--panel:#e7e7da;--line:#233d3430}

.theme-02-ivory .btn{border-radius:2px}.journal-top,.journal-bottom{display:flex;justify-content:space-between;gap:20px;padding:24px 0}.journal-top{border-bottom:1px solid var(--line)}.journal-top .eyebrow{font-size:9px;letter-spacing:.13em}.ivory-hero-grid{display:grid;grid-template-columns:1.05fr 1fr 20px;gap:45px;align-items:center;padding:42px 0 35px}.ivory-copy h1{font-size:clamp(60px,6.5vw,98px);line-height:.98;margin:25px 0}.ivory-copy h2{font-size:26px;line-height:1.5;letter-spacing:-.05em}.ivory-copy p:not(.eyebrow){font-size:13px;color:var(--muted);margin:19px 0 24px}.ivory-cover{position:relative;height:510px;padding:12px;border:1px solid var(--line);border-radius:230px 230px 0 0;background:#e1dfd0}.ivory-cover>img{border-radius:220px 220px 0 0;object-position:50% 36%}.ivory-cover figcaption{position:absolute;bottom:25px;left:30px;right:30px;color:#fff;display:flex;justify-content:space-between;font:12px Georgia;text-shadow:0 1px 3px #000}.ivory-side{writing-mode:vertical-rl;font:10px Arial;letter-spacing:.25em}.journal-bottom{border-top:1px solid var(--line);font-size:10px;letter-spacing:.07em}.ivory-story{display:grid;grid-template-columns:1fr 2fr;gap:50px}.ivory-story p:not(.eyebrow){margin:30px 0 20px;font-size:14px;color:var(--muted)}.signature{font-size:38px;display:block}.ivory-spread{background:var(--panel)}.editorial-spread{display:grid;grid-template-columns:1.5fr 1fr;gap:70px}.large-spread .image-button{height:480px}.large-spread img{object-position:33% center}.small-spread{padding-top:35px}.small-spread h3{font-size:30px;line-height:1.5;margin-top:20px}.small-spread p{font-size:14px;margin:20px 0 26px;color:var(--muted)}.small-spread .image-button{height:215px}.small-spread .text-link{margin-top:18px}.ivory-notes{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:center}.note-number{font-size:200px;line-height:1;border-right:1px solid var(--line);color:#7d8975}.ivory-notes h2{font-size:38px;margin-top:22px}.ivory-note-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px;font-size:13px}.ivory-note-columns p{color:var(--muted)}.ivory-note-columns b{color:var(--ink);display:inline-block;margin-bottom:10px}
@media(max-width:1000px){.ivory-hero-grid{gap:28px;grid-template-columns:1.05fr 1fr}.ivory-side{display:none}.ivory-cover{height:470px}.editorial-spread{gap:35px}.ivory-copy h1{font-size:65px}.ivory-story,.ivory-notes{gap:30px}.note-number{font-size:160px}}
@media(max-width:640px){.journal-top span:nth-child(2){display:none}.journal-top{padding:18px 0}.ivory-hero-grid{display:flex;flex-direction:column;padding-top:35px;align-items:stretch}.ivory-copy h1{font-size:clamp(42px,12.3vw,54px);line-height:1.04}.ivory-copy h2 br{display:none}.ivory-copy h2{font-size:24px}.ivory-cover{height:380px;max-width:390px;width:100%;margin:10px auto 0}.journal-bottom{font-size:9px}.journal-bottom span:nth-child(2){display:none}.ivory-story,.ivory-notes{grid-template-columns:1fr;gap:25px}.editorial-spread{grid-template-columns:1fr;gap:35px}.large-spread .image-button{height:360px}.small-spread{padding:0}.small-spread .image-button{height:220px}.note-number{display:none}.ivory-note-columns{gap:22px}.ivory-notes h2{font-size:32px}.ivory-story p br{display:none}}

.place-guide{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.place-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.place-offer{background:var(--panel);padding:35px}.place-price{font-family:Georgia,serif}
.place-guide .section-title{margin:18px 0 23px;font-size:clamp(30px,3.5vw,48px)}.place-intro{font-size:14px}.place-facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin:25px 0;font-size:12px}.place-offer h3{font-size:23px;margin-top:20px}.place-price{font-size:68px;line-height:1.2;margin:20px 0}.place-price span{font-size:22px;margin-left:8px}.place-note{font-size:12px;color:var(--muted)}.place-source{font-size:11px;line-height:1.8;margin-top:35px;opacity:.8;max-width:900px}.place-guide .text-link{margin-top:15px}
@media(max-width:640px){.place-guide .place-grid{display:block}.place-offer{border-left:0;padding:25px 0;margin-top:32px}.theme-03-electric .place-offer{padding:24px}.theme-02-ivory .place-offer{padding:24px}.place-price{font-size:58px}.place-facts{gap:10px 18px}.place-offer h3{font-size:21px}}

.ivory-cover>img{object-position:center 24%}.ivory-cover .light-portrait-caption{color:#233d34;text-shadow:none;background:#f4f0e6dd;padding:8px 12px}.small-spread img{object-position:center 65%}

/* 2026-09-16 찾아오시는 길: 지도 높이를 우측 텍스트박스와 동일하게(2열 구간에서만). 텍스트가 450px 보다 짧으면 450 유지 */
@media(min-width:641px){.theme-02-ivory #directions .directions-layout{align-items:stretch}.theme-02-ivory #directions .map-frame{height:auto;min-height:450px}}

/* 2026-09-16 테스트: Pretendard 적용(본문 400 · 제목 700). 세리프 포인트(.serif)는 유지 */
body.theme-02-ivory{font-family:'Pretendard','Malgun Gothic','Apple SD Gothic Neo',sans-serif}
body.theme-02-ivory h1:not(.serif),body.theme-02-ivory h2:not(.serif),body.theme-02-ivory h3:not(.serif),body.theme-02-ivory .section-title{font-family:'Pretendard','Malgun Gothic',sans-serif;font-weight:700}
body.theme-02-ivory h1.hook-title{font-family:'Pretendard','Malgun Gothic',sans-serif;font-weight:700}

/* 블로그 아카이브 h2 는 posters.css 가 font-weight:inherit 로 덮어써서 id 로 다시 700 */
body.theme-02-ivory #bip-blog-archive h2{font-weight:700}

/* 2026-09-16 테스트: 작은 장면 스프레드 좌우 높이 맞춤 — 왼쪽 사진이 오른쪽 카드 높이만큼 늘어남 (2열 구간) */
@media(min-width:641px){.theme-02-ivory .editorial-spread{align-items:stretch}.theme-02-ivory .large-spread{display:flex;flex-direction:column}.theme-02-ivory .large-spread .image-button{flex:1 1 auto;height:auto;min-height:480px}.theme-02-ivory .large-spread img{height:100%}}
/* Good drinks 배너: PC 에서 잔이 더 보이도록 이미지를 위로 */
@media(min-width:641px){.theme-02-ivory .evening-interlude>img{object-position:center 82%}}
/* 우측 카드: 글은 위로 붙이고(상단 여백 0) 가로형 사진이 남는 높이를 전부 차지 */
@media(min-width:641px){.theme-02-ivory .small-spread{display:flex;flex-direction:column;padding-top:0}.theme-02-ivory .small-spread h3{margin-top:12px}.theme-02-ivory .small-spread .image-button{flex:1 1 auto;height:auto;min-height:215px}.theme-02-ivory .small-spread .image-button img{height:100%}.theme-02-ivory .large-spread .image-button{min-height:540px}}
/* 추가 섹션 h2 크기 통일 — 라인업 44 · 블로그 46 · 실내 48 · 공연/기념일 62 로 제각각이던 것을 본문 .section-title(clamp 32~58px)과 동일하게 */
.theme-02-ivory #people h2,.theme-02-ivory #bip-blog-archive h2,.theme-02-ivory #bip-interior h2,.theme-02-ivory [data-bip-event-section] h2{font-size:clamp(32px,4vw,58px)!important;line-height:1.3!important;letter-spacing:-.055em!important}
@media(max-width:640px){.theme-02-ivory #people h2,.theme-02-ivory #bip-blog-archive h2,.theme-02-ivory #bip-interior h2,.theme-02-ivory [data-bip-event-section] h2{font-size:34px!important}}
/* 히어로 아래 섹션 배경 교차(기존 토큰 --bg / --panel 만 사용). 폭이 1240 으로 제한된 섹션은 box-shadow 로 화면 끝까지 칠한다 */
.theme-02-ivory #people,.theme-02-ivory #bip-interior,.theme-02-ivory #bip-special-day,.theme-02-ivory #experience,.theme-02-ivory #first-visit,.theme-02-ivory #menu,.theme-02-ivory #directions{background:var(--bg)!important}
.theme-02-ivory #bip-blog-archive,.theme-02-ivory #bip-performance,.theme-02-ivory #story,.theme-02-ivory .ivory-notes,.theme-02-ivory #visit-guide,.theme-02-ivory #faq,.theme-02-ivory #visit{background:var(--panel)!important}
.theme-02-ivory #bip-blog-archive,.theme-02-ivory #bip-interior,.theme-02-ivory #bip-performance,.theme-02-ivory #bip-special-day,.theme-02-ivory #story,.theme-02-ivory .ivory-notes,.theme-02-ivory #visit-guide,.theme-02-ivory #faq{clip-path:inset(0 -100vmax)}
.theme-02-ivory #bip-blog-archive,.theme-02-ivory #bip-performance,.theme-02-ivory #story,.theme-02-ivory .ivory-notes,.theme-02-ivory #visit-guide,.theme-02-ivory #faq{box-shadow:0 0 0 100vmax var(--panel)}
.theme-02-ivory #bip-interior,.theme-02-ivory #bip-special-day{box-shadow:0 0 0 100vmax var(--bg)}
.theme-02-ivory #directions{border-top:0!important}

/* 보조 섹션(에디터 노트·첫 방문 안내) h2 도 본문 제목과 같은 크기로 통일 */
.theme-02-ivory .ivory-notes h2,.theme-02-ivory #first-visit h2{font-size:clamp(32px,4vw,58px)!important;line-height:1.3!important}
@media(max-width:640px){.theme-02-ivory .ivory-notes h2,.theme-02-ivory #first-visit h2{font-size:34px!important}}
