﻿:root{
  --ink:#1c252b;
  --muted:#68747c;
  --paper:#fbfaf7;
  --card:#ffffff;
  --line:#dfe4e7;
  --accent:#276b75;
  --accent2:#c96d3b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.65}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.site-header{background:#17343a;color:#fff}
.header-inner{max-width:1160px;margin:auto;padding:28px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{font-size:2rem;font-weight:700;letter-spacing:.02em}
.tagline{font-family:Arial,sans-serif;font-size:.95rem;opacity:.78}
nav a{color:#fff;font-family:Arial,sans-serif;margin-left:18px}
.hero{max-width:1160px;margin:0 auto;padding:54px 22px 34px}
.hero h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:1;margin:.15em 0}
.hero p{font-size:1.2rem;max-width:720px;color:#3f4d54}
.wrap{max-width:1160px;margin:auto;padding:20px 22px 70px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 42px}
.stat{background:var(--card);border:1px solid var(--line);padding:20px;border-radius:12px}
.stat b{display:block;font-family:Arial,sans-serif;font-size:1.8rem}
.stat span{color:var(--muted);font-family:Arial,sans-serif}
.section-title{font-size:2rem;margin:42px 0 18px}
.trip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.trip-card,.entry-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}
.trip-card h3,.entry-card h3{margin-top:0}
.trip-link{display:block;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}.trip-link:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.trip-hero{background:linear-gradient(135deg,#e7eee9,#f6eee5);border-bottom:1px solid var(--line)}.trip-hero h1{font-size:clamp(2.2rem,5vw,4rem);margin:.2em 0}.trip-hero p{font-family:Arial,sans-serif;color:var(--muted)}
.meta{font-family:Arial,sans-serif;color:var(--muted);font-size:.92rem}
.entry-list{display:grid;gap:14px}
.entry-card{display:grid;grid-template-columns:140px 1fr;gap:18px}
.entry-date{font-family:Arial,sans-serif;color:var(--accent2);font-weight:700}
.article{max-width:900px;margin:auto;padding:42px 22px 70px}
.article h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.1;margin-bottom:.3em}
.article-meta{font-family:Arial,sans-serif;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px}
.diary-body img{max-width:100%}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px;margin-top:18px}
.gallery figure{margin:0;background:var(--card);border:1px solid var(--line);padding:8px;border-radius:10px}
.gallery img{width:100%;height:190px;object-fit:cover;border-radius:6px;display:block}
.gallery figcaption{font-family:Arial,sans-serif;color:var(--muted);font-size:.85rem;padding:7px 2px 2px}
.pager{display:flex;justify-content:space-between;gap:18px;margin-top:42px;border-top:1px solid var(--line);padding-top:20px;font-family:Arial,sans-serif}
footer{border-top:1px solid var(--line);padding:28px 22px;text-align:center;color:var(--muted);font-family:Arial,sans-serif}
.photo-hero{min-height:520px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;color:white}.photo-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,25,30,.10),rgba(10,25,30,.78))}.photo-hero-inner{position:relative;z-index:1;max-width:1160px;width:100%;margin:auto;padding:70px 22px}.photo-hero h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.94;margin:.12em 0;max-width:900px;text-shadow:0 2px 20px rgba(0,0,0,.28)}.photo-hero p{font-size:1.2rem;max-width:700px}.trip-card{padding:0;overflow:hidden}.trip-thumb{width:100%;height:185px;object-fit:cover;display:block;background:#e7ecee}.trip-card-copy{padding:20px}.trip-card h3{font-size:1.18rem;line-height:1.25;overflow-wrap:anywhere}.trip-hero-photo{min-height:360px;background-size:cover;background-position:center;position:relative;color:white;display:flex;align-items:flex-end}.trip-hero-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))}.trip-hero-photo .wrap{position:relative;z-index:1;width:100%}.trip-hero-photo .meta,.trip-hero-photo p{color:white}.trip-hero-photo h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.02;margin:.15em 0}.intro{max-width:760px;font-size:1.08rem}.trip-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}
@media(max-width:700px){
 .header-inner{display:block}.header-inner nav{margin-top:10px}.header-inner nav a{margin:0 15px 0 0}
 .stats{grid-template-columns:1fr}.entry-card{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.photo-hero{min-height:430px}.trip-thumb{height:165px}
}

/* V4 polish */
.trip-card { overflow:hidden; min-width:0; }
.trip-card h3 { overflow-wrap:anywhere; word-break:normal; line-height:1.25; }
.trip-card img { width:100%; height:190px !important; object-fit:cover; display:block; }
.trip-grid { grid-template-columns:repeat(auto-fit,minmax(285px,1fr)) !important; gap:22px !important; }
.hero-photo, .photo-hero, .hero.has-photo {
  background-position:center !important;
  background-size:cover !important;
}
.hero-photo:before, .photo-hero:before, .hero.has-photo:before {
  background:rgba(0,0,0,.34) !important;
}
@media(max-width:700px){
  .trip-grid { grid-template-columns:1fr !important; }
  .trip-card img { height:220px !important; }
}


/* V5 trip-journal upgrade */
.trip-journal{max-width:980px;margin:0 auto;padding:34px 22px 80px}
.journal-entry{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;margin:0 0 28px}
.journal-entry h2{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.15;margin:.15em 0 .35em}
.journal-entry .mini-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:18px}
.journal-entry .mini-gallery img{width:100%;height:155px;object-fit:cover;border-radius:8px;display:block}
.read-entry{display:inline-block;margin-top:16px;font-family:Arial,sans-serif;font-weight:700}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:28px}
.lightbox.open{display:flex}.lightbox img{max-width:96vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:18px;top:12px;border:0;background:none;color:white;font-size:2.4rem;cursor:pointer}
@media(max-width:700px){.journal-entry{padding:20px}.journal-entry .mini-gallery{grid-template-columns:repeat(2,1fr)}}


/* V6 diary reading upgrade */
.article{max-width:980px}
.article h1{max-width:800px}
.diary-body{max-width:760px;font-size:1.12rem;line-height:1.78}
.diary-body p{margin:0 0 1.15em}
.gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:24px}
.gallery img{height:230px}
.pager{max-width:760px;margin:48px auto 0}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:28px}
.lightbox.open{display:flex}.lightbox img{max-width:96vw;max-height:90vh;object-fit:contain}
.lightbox button{position:absolute;right:18px;top:12px;border:0;background:none;color:white;font-size:2.4rem;cursor:pointer}
@media(max-width:700px){.gallery{grid-template-columns:1fr 1fr;gap:8px}.gallery img{height:165px}.diary-body{font-size:1.05rem}.pager{flex-direction:column}}


/* V7 final polish */
.article > header h1 + .meta { margin-bottom:18px; }
.diary-body { margin-top:24px; }
.diary-body h1:first-child,
.diary-body h2:first-child { display:none; }
.article .gallery { margin-top:34px; }
.article .gallery figure { margin:0; }
.article .gallery img { cursor:zoom-in; }
.lightbox { flex-direction:column; }
.lightbox .lb-controls{
  position:absolute;inset:0;pointer-events:none;display:flex;
  align-items:center;justify-content:space-between;padding:0 18px
}
.lightbox .lb-prev,.lightbox .lb-next{
  pointer-events:auto;border:0;background:rgba(0,0,0,.35);color:#fff;
  font-size:2.4rem;line-height:1;padding:14px 18px;border-radius:999px;cursor:pointer
}
.lightbox .lb-caption{
  position:absolute;left:24px;right:24px;bottom:14px;color:#fff;
  text-align:center;font:14px/1.4 Arial,sans-serif
}
@media(max-width:700px){
 .lightbox .lb-prev,.lightbox .lb-next{font-size:1.8rem;padding:10px 14px}
}


/* V7.2 map page */
.map-wrap{max-width:1160px;margin:0 auto;padding:36px 22px 70px}
#trip-map{height:620px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#e9eef0}
.map-note{max-width:820px;color:var(--muted);font-family:Arial,sans-serif;margin-bottom:18px}
.map-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:24px}
.map-key a{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:block}
@media(max-width:700px){#trip-map{height:480px}}

