/* wordsfortravel. | Pure HTML + CSS; no web fonts, JS, UI libraries or tracking. */
:root { color-scheme:light; --paper:#fff; --cream:#f6f3ed; --ink:#272a27; --muted:#686c68; --line:#e6e5e0; --sage:#536954; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:.22em; }
a:focus-visible { outline:2px solid var(--sage); outline-offset:4px; }
.wrap { width:min(100% - 48px, 1120px); margin-inline:auto; }
.skip-link { position:absolute; z-index:10; top:-100px; left:15px; padding:9px 14px; background:#fff; border:1px solid var(--ink); }
.skip-link:focus { top:12px; }
h1,h2,h3,p,figure { margin-top:0; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.045em; }
h1 em,h2 em { font-weight:400; }
.site-header { min-height:92px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid #eceae4; }
.wordmark,.footer-brand { font-size:clamp(21px,2.5vw,26px); font-weight:650; letter-spacing:-.075em; line-height:1; text-decoration:none; }
.period { color:var(--sage); }
.nav-links { display:flex; gap:30px; align-items:center; padding:0; margin:0; list-style:none; }
.nav-links a,.site-footer nav a { color:#464a46; font-size:14px; text-decoration:none; }
.nav-links a:hover,.site-footer nav a:hover { text-decoration:underline; }
.nav-links [aria-current="page"] { text-decoration:underline; text-underline-offset:8px; }
.eyebrow { margin:0 0 17px; color:#737a72; font:600 11px/1.5 system-ui,sans-serif; letter-spacing:.17em; text-transform:uppercase; }
.hero-band { background:var(--cream); }
.hero { min-height:550px; display:grid; grid-template-columns:minmax(0,45%) minmax(0,55%); align-items:center; gap:0; padding-top:42px; padding-bottom:42px; }
.hero-copy { position:relative; z-index:1; padding:35px 18px 35px 0; }
.hero h1 { font-size:clamp(43px,4.6vw,65px); line-height:1.13; max-width:540px; margin-bottom:22px; }
.hero-description { max-width:460px; font-size:17px; line-height:1.75; color:#626761; margin-bottom:27px; }
.primary-link { display:inline-flex; align-items:center; gap:16px; background:var(--sage); padding:11px 23px; min-height:46px; color:white; text-decoration:none; font-size:14px; font-weight:550; border:1px solid var(--sage); transition:background .18s ease; }
.primary-link:hover { background:#415642; }
.primary-link span { font-size:18px; line-height:1; }
.hero-visual { margin:0 0 0 20px; position:relative; }
/* No masks, blur, feathering, or edge effects: photography stays crisp. */
.hero-image { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:50% 45%; }
.hero-visual figcaption { margin-top:9px; text-align:right; font-size:11px; color:#646b64; }
.guides { padding-top:95px; padding-bottom:100px; scroll-margin-top:32px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; padding-bottom:26px; margin-bottom:31px; border-bottom:1px solid var(--line); }
h2 { font-size:clamp(34px,4vw,47px); line-height:1.18; margin:0; }
.section-heading > p { color:var(--muted); font-size:14px; max-width:325px; margin:0; }
.guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.guide-card { min-width:0; scroll-margin-top:24px; }
.card-image-wrap { width:100%; aspect-ratio:3/2; overflow:hidden; background:var(--cream); }
.card-image-wrap img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.guide-location { margin:21px 0 8px; color:#5f645f; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
h3 { margin:0 0 9px; font-size:clamp(26px,2.6vw,31px); line-height:1.2; }
.card-description { font-size:14px; line-height:1.7; color:var(--muted); margin:0 0 13px; }
.card-facts { display:flex; flex-wrap:wrap; gap:8px 12px; color:#626a62; font-size:12px; margin:0 0 15px; }
.card-facts span:not(:first-child)::before { content:'·'; margin-right:12px; color:#aaa; }
.card-status { font-size:13px; font-weight:600; color:var(--sage); margin:14px 0 0; }
.teaser-art { aspect-ratio:4/3; display:flex; justify-content:center; align-items:center; background:linear-gradient(135deg,#eeeae1,#f7f5f0); color:#b0aca3; font:italic 64px Georgia,serif; }
.teaser-art-two { background:linear-gradient(135deg,#e7e9e3,#f7f7f3); }
.more-guides { margin:38px 0 0; color:var(--muted); font-size:14px; }
.about-main { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:85px; align-items:center; min-height:620px; padding-block:95px 115px; }
.about-copy h1 { margin:0 0 30px; font-size:clamp(48px,6vw,75px); }
.about-copy p:not(.eyebrow) { max-width:680px; margin-bottom:19px; color:#494e49; font-size:17px; line-height:1.85; }
.favourites { border-top:1px solid var(--line); margin-top:35px; padding-top:24px; }
.favourites h2 { font:italic 23px/1.3 Georgia,serif; letter-spacing:-.02em; }
.favourites ul { display:flex; flex-wrap:wrap; gap:8px 24px; padding-left:18px; margin:17px 0 0; font-size:14px; color:var(--muted); }
.portrait-placeholder { margin:0; }
.portrait-inner { width:100%; aspect-ratio:4/5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; border:1px dashed #d3d0c8; color:#72756e; background:var(--cream); font-family:Georgia,serif; font-style:italic; font-size:23px; }
.portrait-inner small { font:12px/1.4 system-ui,sans-serif; }
.portrait-placeholder figcaption { font-size:12px; color:var(--muted); margin-top:12px; }
.site-footer { border-top:1px solid var(--line); padding-block:38px 30px; }
.footer-upper { display:flex; justify-content:space-between; gap:30px; padding-bottom:45px; }
.footer-brand { font-size:21px; }
.footer-upper p { margin:10px 0 0; color:var(--muted); font-size:13px; }
.site-footer nav { display:flex; gap:25px; }
.footer-bottom { border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 25px; padding-top:21px; }
.footer-bottom small { color:#5f645f; font-size:12px; }
@media(max-width:980px) { .hero { min-height:480px; } .hero h1 { font-size:clamp(42px,5.1vw,57px); } .hero-visual { margin-left:12px; } .about-main { gap:40px; } .guide-grid { gap:20px; } }
@media(max-width:760px) {
 .wrap { width:min(100% - 36px,1120px); }
 .site-header { min-height:74px; }
 .nav-links { gap:16px; } .nav-links a { font-size:13px; }
 .hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding-top:45px; padding-bottom:22px; }
 .hero-copy { padding:10px 0 20px; }
 .hero h1 { font-size:clamp(42px,9vw,60px); }
 .hero-description { font-size:16px; max-width:540px; }
 .hero-visual { margin:0; }
 .hero-image { aspect-ratio:4/3; object-position:50% 45%; }
 .hero-visual figcaption { font-size:10px; }
 .guides { padding-top:66px; padding-bottom:78px; }
 .section-heading { align-items:start; flex-direction:column; gap:12px; }
 .guide-grid { grid-template-columns:1fr; gap:45px; }
 .card-image-wrap { aspect-ratio:3/2; }
 .about-main { display:flex; flex-direction:column; align-items:stretch; gap:35px; padding-block:65px 85px; min-height:0; }
 .portrait-placeholder { max-width:420px; }
 .footer-upper { padding-bottom:32px; }
}
@media(max-width:390px) { .wordmark { font-size:20px; } .nav-links { gap:10px; } .nav-links a { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .primary-link { transition:none; } }

/* Long-form guide: readable, responsive, and script-free. */
.guide-title-link { text-decoration:none; }
.guide-title-link:hover,.card-status a:hover { text-decoration:underline; }
.card-status a { text-decoration:none; }
.article-intro { padding-top:74px; padding-bottom:35px; }
.article-intro h1 { font-size:clamp(46px,6vw,78px); line-height:1.1; margin:0 0 17px; }
.article-standfirst { color:#585e58; font-size:clamp(17px,2vw,21px); max-width:700px; line-height:1.6; }
.article-pills { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:24px 0 18px; }
.article-pills li { color:var(--sage); font-size:12px; font-weight:600; line-height:1.1; border:1px solid #c1cec0; padding:9px 13px; border-radius:50px; }
.article-byline { font-size:13px; color:var(--muted); margin:0; }
.article-byline a { font-weight:600; color:var(--ink); }
.article-cover { margin-top:0; margin-bottom:63px; }
.article-cover img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:center 57%; background:var(--cream); }
.article-cover figcaption { margin-top:11px; text-align:right; font-size:12px; color:var(--muted); }
.article-layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:clamp(32px,6vw,90px); align-items:start; padding-bottom:90px; }
.article-sidebar { position:sticky; top:30px; align-self:start; }
.article-toc { border-top:1px solid var(--line); padding-top:21px; display:grid; gap:15px; }
.toc-label { font-size:11px; letter-spacing:.14em; font-weight:650; text-transform:uppercase; color:var(--sage); margin:0 0 5px; }
.article-toc a { text-decoration:none; color:#4a5249; font-size:13px; line-height:1.55; }
.article-toc a:hover { text-decoration:underline; }
.toc-aside { color:var(--muted); font-size:12px; margin-top:26px; }
.article-body { min-width:0; max-width:710px; font-size:16px; line-height:1.9; }
.article-body p { margin:0 0 21px; }
.itinerary-day { scroll-margin-top:28px; }
.day-heading { margin:0 0 30px; padding-bottom:15px; border-bottom:1px solid var(--line); }
.day-heading .eyebrow { margin-bottom:7px; }
.day-heading h2 { font-size:clamp(39px,4vw,51px); }
.day-stops { display:grid; gap:26px; }
.timeline-stop { display:grid; grid-template-columns:70px minmax(0,1fr); gap:18px; scroll-margin-top:30px; }
.timeline-time { padding-top:7px; font-size:12px; font-weight:700; color:var(--sage); font-variant-numeric:tabular-nums; white-space:nowrap; }
.timeline-content { min-width:0; padding-bottom:7px; border-bottom:1px solid #eeede8; }
.timeline-content h3 { font-size:clamp(24px,2.5vw,30px); line-height:1.2; letter-spacing:-.03em; margin:0 0 16px; }
.timeline-content p { margin:0 0 18px; }
.itinerary-day + .itinerary-day { margin-top:65px; }
.guide-conclusion { margin:35px 0 0; font-style:italic; color:#464d46; }
.article-note { margin:52px 0 38px; background:var(--cream); border-left:3px solid var(--sage); padding:22px 25px; font-size:14px; line-height:1.75; }
.article-note strong { color:#334632; }
.article-note p { margin:10px 0 0; }
.article-end { padding-top:28px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.article-date { font-size:12px; color:var(--muted); margin:0; }
.back-guides { text-decoration:none; font-size:14px; font-weight:600; color:var(--sage); }
.back-guides:hover { text-decoration:underline; }
@media(max-width:860px) {
 .article-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
 .article-sidebar { position:static; }
 .article-toc { gap:9px; }
 .toc-aside { margin:11px 0 0; }
 .article-body { max-width:720px; }
 .article-cover { margin-bottom:34px; }
}
@media(max-width:560px) {
 .article-intro { padding-top:47px; padding-bottom:28px; }
 .article-cover img { aspect-ratio:4/3; }
 .article-layout { padding-bottom:65px; }
 .timeline-stop { grid-template-columns:1fr; gap:6px; }
 .timeline-time { padding-top:0; }
 .day-stops { gap:23px; }
 .article-body { font-size:15.5px; }
 .article-note { padding:18px; }
}

/* Original photographs with clearly distinguished credits */
.article-body .guide-photo { margin:24px 0 29px; }
.guide-photo img { display:block; width:100%; height:auto; max-height:580px; object-fit:contain; background:#f5f4ef; border-radius:5px; }
.guide-photo figcaption { font:400 12px/1.5 system-ui,sans-serif; color:#565f58; margin-top:9px; text-align:left; }
.image-credits { font:400 12px/1.7 system-ui,sans-serif; color:#565f58; margin:16px 0 24px; }
@media(max-width:560px) { .article-body .guide-photo { margin:19px 0 24px; } }

/* Final editorial refinements: simple CSS, no scripts or visual blurring. */
:root { --sage-soft:#eef3ed; --serif:Georgia,"Times New Roman",serif; }
.primary-link { border-radius:999px; box-shadow:0 2px 10px rgba(29,49,31,.09); }
.article-pills li { background:rgba(240,246,239,.65); border-color:#c6d2c4; }
.card-image-wrap { position:relative; }
.guide-card .card-image-wrap img { transition:transform .32s ease; }
.guide-card:has(a:hover) .card-image-wrap img { transform:scale(1.025); }
.guide-card .card-status a span { display:inline-block; transition:transform .22s ease; }
.guide-card .card-status a:hover span { transform:translateX(4px); }
.card-status a:focus-visible { border-radius:2px; }
.winter-teaser { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:160px; background:linear-gradient(145deg,#e9eeea,#d8e1dd); font:italic clamp(22px,3vw,36px)/1.2 var(--serif); color:#54685b; letter-spacing:-.035em; }
.journey-panel { margin:0 0 52px; border:1px solid #d9e1d6; border-radius:20px; background:#f7f9f5; padding:25px 28px 23px; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.journey-panel-header { display:flex; justify-content:space-between; align-items:center; padding-bottom:16px; margin-bottom:18px; border-bottom:1px dashed #b5c5b6; color:#49644e; font-size:11px; font-weight:700; letter-spacing:.16em; }
.journey-panel-header span:last-child { font-size:20px; line-height:1; letter-spacing:0; }
.journey-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 26px; margin:0; }
.journey-facts div { min-width:0; }
.journey-facts dt { color:#606e63; font-size:12px; line-height:1.4; margin-bottom:4px; }
.journey-facts dd { color:#243126; font-size:15px; font-weight:600; line-height:1.4; margin:0; }
.day-stops { position:relative; gap:12px; }
.day-stops::before { content:""; position:absolute; inset:13px auto 16px 35px; width:1px; background:#cfdcd0; pointer-events:none; }
.timeline-stop { position:relative; gap:18px; padding-bottom:18px; }
.timeline-time { z-index:1; align-self:start; width:max-content; min-width:68px; text-align:center; margin:0; padding:6px 10px; background:#edf3ed; border:1px solid #ccd9cc; border-radius:999px; color:#425e48; font-size:12px; font-weight:650; line-height:1.4; }
.timeline-content { border-bottom:1px solid #eeeae3; }
.article-body { font-size:17px; line-height:1.86; }
.article-body .timeline-content p { margin-bottom:19px; }
.personal-quote { padding:18px 24px; margin:19px 0 24px; border-left:3px solid #718875; background:#fafaf7; }
.personal-quote p { margin:0 0 11px; font:italic 25px/1.43 var(--serif); letter-spacing:-.02em; color:#354539; }
.personal-quote span { display:block; color:#5b695e; font:500 12px/1.4 system-ui,sans-serif; }
@media(max-width:560px) {
 .article-body { font-size:16.5px; line-height:1.8; }
 .journey-panel { padding:19px 17px; border-radius:15px; margin-bottom:38px; }
 .journey-facts { gap:17px 13px; }
 .day-stops::before { left:15px; }
 .timeline-stop { gap:9px; padding-left:43px; }
 .timeline-time { position:relative; left:-43px; margin-bottom:-7px; min-width:70px; }
 .personal-quote { padding:15px 17px; }
 .personal-quote p { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) {
 .guide-card .card-image-wrap img, .guide-card .card-status a span { transition:none; }
 .guide-card:has(a:hover) .card-image-wrap img { transform:none; }
 .guide-card .card-status a:hover span { transform:none; }
}


/* About portrait */
.portrait-figure { margin:0; max-width:420px; justify-self:end; }
.portrait-figure img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:22px; background:var(--cream); }
.portrait-figure figcaption { margin-top:12px; color:var(--muted); font-size:12px; line-height:1.6; text-align:left; }
@media(max-width:760px){ .portrait-figure { max-width:360px; } }


/* Layout corrections: image styles are deliberately scoped to cards vs article figures. */
.card-image-wrap { overflow: hidden; aspect-ratio: 3 / 2; }
.card-image-link { display:block; width:100%; height:100%; text-decoration:none; }
.card-image-link:focus-visible { outline:3px solid var(--sage); outline-offset:-3px; }
.card-image-wrap .card-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.card-image-wrap .card-photo--seoul { object-position:center 48%; }
.guide-card .card-image-wrap .card-photo { transition:transform .28s ease; }
.guide-card:has(.card-image-link:hover) .card-image-wrap .card-photo,
.guide-card:has(.guide-title-link:hover) .card-image-wrap .card-photo { transform:scale(1.025); }
/* Individual travel pictures keep natural proportions and never inherit card heights. */
.article-body figure.guide-photo { display:block; width:100%; height:auto; margin:25px 0 32px; }
.article-body figure.guide-photo--portrait { max-width:390px; margin-left:auto; margin-right:auto; }
.article-body figure.guide-photo--landscape { max-width:100%; }
.article-body figure.guide-photo img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:5px; background:none; }
.article-photo-link { display:block; width:100%; text-decoration:none; }
.article-photo-link:focus-visible { outline:3px solid var(--sage); outline-offset:3px; border-radius:4px; }
.article-cover .article-photo-link { width:100%; display:block; }
.article-cover .article-photo-link img { width:100%; aspect-ratio:16 / 9; object-fit:cover; }
@media (max-width:760px) {
 .card-image-wrap { aspect-ratio:3 / 2; }
 .article-body figure.guide-photo--portrait { max-width:min(100%,360px); }
 .article-cover .article-photo-link img { aspect-ratio:4 / 3; }
}
@media(prefers-reduced-motion:reduce) {
 .guide-card .card-image-wrap .card-photo { transition:none; }
 .guide-card:has(.card-image-link:hover) .card-image-wrap .card-photo,
 .guide-card:has(.guide-title-link:hover) .card-image-wrap .card-photo { transform:none; }
}

/* Copyright page: restrained editorial reading width */
.legal-main { max-width:760px; padding-block:80px 110px; }
.legal-main h1 { font-size:clamp(44px,6vw,68px); margin:8px 0 30px; line-height:1.13; }
.legal-main h2 { font:normal clamp(25px,3vw,32px)/1.25 Georgia,"Times New Roman",serif; margin:34px 0 10px; }
.legal-main p { color:#3f473f; line-height:1.8; font-size:17px; margin:0 0 16px; }
.legal-main .eyebrow { font-size:11px; }
.legal-main .legal-note { margin-top:42px; font-size:13px; color:#5f645f; border-top:1px solid var(--line); padding-top:20px; }
.site-footer nav { flex-wrap:wrap; }
@media(max-width:760px) { .legal-main { padding-block:50px 75px; } .legal-main p { font-size:16px; } }

/* Guide sharing: simple, accessible links without JavaScript. */
.guide-share { margin:36px 0 26px; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.guide-share h2 { font:normal clamp(25px,3vw,31px)/1.25 Georgia,"Times New Roman",serif; margin:0 0 9px; }
.guide-share > p { margin:0 0 18px; color:#536056; font-size:14px; line-height:1.6; }
.share-links { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.share-link { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border:1px solid #c7d5c7; background:#f5f8f3; color:#34523b; border-radius:999px; text-decoration:none; font:600 13px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; }
.share-link:hover { background:#eaf1e8; }
.share-link:focus-visible { outline:3px solid #526f59; outline-offset:3px; }
.guide-share .share-copy { font-size:13px; margin:0; overflow-wrap:anywhere; }
.share-copy a { color:#34523b; text-underline-offset:3px; }

/* Privacy page note: keep important launch information visible and legible. */
.legal-main .legal-contact-note { background:#f6f3ed; border-left:3px solid #708671; padding:15px 18px; font-size:14px; }
.legal-main a { color:#365944; text-underline-offset:3px; }
.legal-main code { font-size:.86em; overflow-wrap:anywhere; }
