/* Versailles Field Guide — uses the shared Paris Guide visual language */
.field-page { background:#fbf7f4; color:var(--ink); overflow-wrap:anywhere; }
.field-hero { position:relative; padding:138px 22px 70px; text-align:center; background:linear-gradient(145deg,#f8eee9,#ead9d4); overflow:hidden; }
.field-hero::after { content:""; position:absolute; inset:18px; border:1px solid rgba(123,45,62,.18); pointer-events:none; }
.field-label { color:var(--burgundy); font-size:10px; font-weight:700; letter-spacing:.18em; }
.field-hero h1 { margin:14px 0; font:700 clamp(38px,10vw,66px)/1.25 var(--font-serif-kr); letter-spacing:-.05em; }
.field-hero h1 span { display:block; margin-top:7px; font-size:.58em; }
.field-hero__intro { max-width:700px; margin:0 auto; color:var(--ink-m); line-height:1.9; }
.field-back { display:inline-flex; margin-bottom:18px; color:var(--ink-m); text-decoration:none; font-size:13px; }
.field-actions { max-width:900px; margin:26px auto 0; display:flex; flex-wrap:wrap; justify-content:center; gap:9px; }
.field-actions .btn { min-height:44px; }
.field-actions button:disabled { opacity:.55; cursor:not-allowed; }
.field-save-help { max-width:620px; margin:20px auto 0; padding:18px; border:1px solid #c9a7a0; border-radius:12px; background:#fff; text-align:left; }
.field-save-help[hidden] { display:none; }
.field-save-help p { margin:7px 0 14px; color:var(--ink-m); line-height:1.7; }
.field-section { padding:64px 20px; scroll-margin-top:80px; }
.field-section--tint { background:#f1e5e1; }
.field-section__head { max-width:760px; margin:0 auto 30px; text-align:center; }
.field-section__head h2 { margin:8px 0 12px; font:700 clamp(27px,7vw,40px)/1.35 var(--font-serif-kr); }
.field-section__head p { color:var(--ink-m); line-height:1.8; }
.field-grid { max-width:1100px; margin:auto; display:grid; gap:14px; }
.field-card { padding:24px; border:1px solid #dfd1cb; border-radius:14px; background:#fff; }
.field-card__number { color:var(--burgundy); font-size:10px; font-weight:700; letter-spacing:.12em; }
.field-card h3 { margin:10px 0 8px; font:600 19px var(--font-serif-kr); }
.field-card p { color:var(--ink-m); line-height:1.75; }
.field-checklist { max-width:840px; margin:auto; padding:0; list-style:none; display:grid; gap:8px; }
.field-checklist li { padding:15px 16px 15px 46px; position:relative; background:#fff; border:1px solid #dfd1cb; border-radius:10px; line-height:1.65; }
.field-checklist li::before { content:"✓"; position:absolute; left:17px; color:var(--burgundy); font-weight:800; }
.field-warning { max-width:840px; margin:20px auto 0; padding:18px; border-left:3px solid var(--burgundy); background:#fff; line-height:1.75; }
.field-map { max-width:1000px; margin:auto; }
.field-map-placeholder { min-height:310px; padding:28px; display:grid; place-items:center; text-align:center; border:1px dashed #b69088; border-radius:14px; background:#fff; }
.field-map-placeholder h3 { font:600 22px var(--font-serif-kr); }
.field-map-placeholder p { max-width:600px; color:var(--muted); line-height:1.75; }
.field-map-placeholder__route { width:min(600px,100%); margin-top:22px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; }
.field-map-placeholder__route span { padding:8px 10px; background:#f4e4df; border-radius:999px; font-size:12px; }
.field-map__expand { min-height:44px; margin-top:14px; }
.field-map.is-expanded { position:fixed; inset:14px; z-index:1000; max-width:none; padding:18px; overflow:auto; border-radius:14px; background:#fbf7f4; box-shadow:0 24px 80px rgba(0,0,0,.35); }
.field-map.is-expanded .field-map-placeholder { min-height:calc(100vh - 130px); }
.field-route { max-width:820px; margin:auto; display:grid; gap:0; counter-reset:route; }
.field-route__item { position:relative; margin-left:20px; padding:20px 20px 20px 50px; border-left:1px solid #b98b80; counter-increment:route; }
.field-route__item::before { content:counter(route,decimal-leading-zero); position:absolute; left:-20px; top:18px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--burgundy); color:#fff; font-size:11px; font-weight:800; }
.field-route__item h3 { margin:0 0 6px; font:600 18px var(--font-serif-kr); }
.field-route__item p { margin:0; color:var(--ink-m); line-height:1.7; }
.field-info-types { max-width:1100px; margin:auto; display:grid; gap:14px; }
.field-info-card { padding:27px; border-radius:14px; background:#fff; border:1px solid #dfd1cb; }
.field-info-card__icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#f2deda; color:var(--burgundy); font-weight:800; }
.field-info-card h3 { margin:15px 0 9px; font:600 20px var(--font-serif-kr); }
.field-info-card p { color:var(--ink-m); line-height:1.85; }
.field-info-card small { display:block; margin-top:14px; color:var(--muted); }
.field-mobility { max-width:1000px; margin:auto; display:grid; gap:14px; }
.field-save { text-align:center; }
.field-save .field-actions { margin-top:20px; }
.print-meta { display:none; }
.field-page :focus-visible { outline:3px solid #9b4c5e; outline-offset:3px; }
@media (min-width:680px) { .field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.field-info-types { grid-template-columns:repeat(3,minmax(0,1fr)); }.field-mobility { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px) { .field-section { padding:88px 40px; }.field-grid--five { grid-template-columns:repeat(5,minmax(0,1fr)); }.field-card { padding:28px; } }
@media (max-width:900px) { .field-hero { padding-top:112px; }.field-page .pg-header { height:68px; padding:0 18px; }.field-page .pg-header .menu-toggle { display:flex; width:44px; height:44px; align-items:center; justify-content:center; }.field-page .pg-desktop-nav { display:none; } }
@media (max-width:480px) { .field-actions { display:grid; grid-template-columns:1fr; }.field-actions .btn { width:100%; justify-content:center; }.field-card__number { font-size:22px; }.field-grid--five .field-card { min-height:92px; display:grid; grid-template-columns:48px 1fr; gap:10px; align-items:center; }.field-grid--five .field-card h3 { margin:0; } }
