:root { color-scheme: light; --ink:#1c394b; --muted:#66786f; --line:#dce3d8; --serif:"Songti SC","STSong","Noto Serif CJK SC",serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fbfcf9; font-family:"PingFang SC","Microsoft YaHei",sans-serif; -webkit-text-size-adjust:100%; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid #376645; outline-offset:5px; }
.skip-link { position:fixed; left:16px; top:12px; z-index:10; padding:12px; background:var(--ink); color:white; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.discover-header { max-width:1200px; margin:auto; padding:25px 32px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.discover-brand { display:inline-flex; align-items:center; gap:10px; min-height:44px; font:600 23px/1.3 var(--serif); white-space:nowrap; }
.discover-brand img { object-fit:contain; flex-shrink:0; }
.discover-header nav { display:flex; align-items:center; gap:26px; font-size:14px; }
.discover-header nav a { display:inline-flex; align-items:center; min-height:44px; }
.discover-header nav [aria-current] { color:#436f4a; }
.nav-write { gap:20px; padding:0 18px; border:1px solid #9caa9a; border-radius:999px; }
main { max-width:1100px; margin:auto; padding:0 32px; }
.discover-intro { padding:68px 0 50px; text-align:center; }
.eyebrow { font-size:12px; line-height:1.8; letter-spacing:.12em; color:#627960; }
h1,h2,p { margin:0; }
.discover-intro h1 { margin:20px 0; font:500 clamp(36px,4.4vw,58px)/1.35 var(--serif); letter-spacing:.025em; }
.discover-intro p { color:var(--muted); font-size:15px; line-height:1.9; }
.discover-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.discover-place { display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); border-radius:18px; min-width:0; }
.wishes-place { background:linear-gradient(135deg,#f1f6e9,#fbfcf7); }
.cities-place { background:linear-gradient(135deg,#f2f5f7,#fafbf9); }
.place-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:28px; }
.place-number { color:#6c7d71; font-size:12px; letter-spacing:.12em; }
.availability { color:#426044; font-size:11px; padding:4px 9px; border:1px solid #ccd9c4; border-radius:999px; }
.discover-place h2 { font:500 32px/1.4 var(--serif); margin-bottom:14px; }
.discover-place p { color:#566c66; font-size:15px; line-height:1.85; }
.discover-place ul { color:#65776d; list-style:none; padding:0; margin:24px 0; font-size:13px; line-height:2.1; }
.discover-place li::before { content:"·"; margin-right:9px; color:#557849; }
.place-action { margin-top:auto; display:flex; align-items:center; justify-content:space-between; min-height:48px; border-top:1px solid var(--line); padding:16px 0 8px; color:#365f40; font-size:15px; font-weight:600; }
.place-action:hover { color:#1b4326; }
.discover-place small { color:#697b70; font-size:11px; line-height:1.8; margin-top:5px; }
.letter-wall-status { display:grid; grid-template-columns:1fr 2fr; gap:32px; margin-top:24px; padding:30px; border:1px solid #e4dfd3; border-radius:18px; background:#fbf9f3; }
.letter-wall-status h2 { margin-top:10px; font:500 28px/1.5 var(--serif); }
.letter-wall-status strong { display:block; font-size:14px; font-weight:500; margin-bottom:10px; }
.letter-wall-status p { color:#6f756b; font-size:13px; line-height:1.9; }
.letter-wall-status a { display:inline-flex; align-items:center; gap:18px; min-height:44px; font-size:13px; color:#596d49; }
.discover-next { padding:78px 0 70px; text-align:center; }
.discover-next h2 { font:500 34px/1.4 var(--serif); margin:14px 0; }
.discover-next p { color:var(--muted); font-size:14px; line-height:1.9; }
.discover-next > div { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin:27px 0 16px; }
.primary-link,.secondary-link { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:50px; border-radius:11px; padding:13px 20px; font-size:14px; border:1px solid #c4ad77; }
.primary-link { color:#fff; background:#c95440; border-color:#c95440; }
.primary-link:hover { background:#af4634; }
.secondary-link { background:#fffef9; }
.discover-next small { font-size:11px; color:#6e7a70; }
.discover-footer { padding:30px 24px; border-top:1px solid #e3e8df; text-align:center; background:#f3f6f1; }
.discover-footer .discover-brand { font-size:19px; }
.discover-footer p { font:15px/1.8 var(--serif); margin:12px 0 16px; color:#5c7163; }
.discover-footer nav { display:flex; gap:18px; flex-wrap:wrap; justify-content:center; }
.discover-footer nav a,.filing { min-height:44px; display:inline-flex; align-items:center; color:#617366; font-size:12px; }
.filing { margin-top:8px; }
@media(max-width:640px) {
  .discover-header { padding:16px; gap:8px; }
  .discover-brand { font-size:18px; gap:6px; }
  .discover-brand img { width:30px; height:30px; }
  .discover-header nav { gap:10px; font-size:12px; }
  .discover-header nav > a[aria-current] { display:none; }
  .nav-write { gap:8px; padding-inline:12px; }
  main { padding-inline:18px; }
  .discover-intro { padding:40px 0 32px; }
  .eyebrow { font-size:11px; letter-spacing:.06em; }
  .discover-intro h1 { font-size:34px; margin:15px 0; }
  .discover-intro p { font-size:13px; }
  .desktop-break { display:none; }
  .discover-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .discover-place { padding:24px; }
  .place-top { margin-bottom:18px; }
  .discover-place h2 { font-size:28px; }
  .discover-place ul { margin:18px 0; }
  .letter-wall-status { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:16px; padding:24px; }
  .letter-wall-status h2 { margin-top:4px; font-size:26px; }
  .discover-next { padding:48px 0; }
  .discover-next h2 { font-size:29px; }
  .discover-next > div { display:grid; margin-top:24px; }
  .discover-next > div a { width:min(100%,310px); margin:auto; }
  .discover-footer nav { gap:0 16px; }
}
