
:root{--teal:#0f4c4c;--teal-d:#0a3a3a;--sand:#f3e9d2;--sand-l:#faf4e4;--coral:#e07a3f;--ink:#22302e;--mut:#5c6b68;--card:#fffdf7;--line:#e4d9bd}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Georgia,'Times New Roman',serif;background:var(--sand-l);color:var(--ink);line-height:1.65}
a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.wrap{max-width:1060px;margin:0 auto;padding:0 18px}
header.site{background:var(--teal);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.hd{display:flex;align-items:center;gap:12px;padding:12px 0;flex-wrap:wrap}
.hd img{width:44px;height:44px;border-radius:50%}
.hd .brand{font-weight:bold;font-size:1.25rem;color:#fff;text-decoration:none;letter-spacing:.2px}
.hd .brand span{color:var(--sand)}
nav.main{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
nav.main a{color:#eaf3ee;text-decoration:none;font-size:.95rem}
nav.main a:hover{color:var(--sand);text-decoration:underline}
.hero{background:linear-gradient(135deg,var(--teal) 0%,var(--teal-d) 70%);color:#fff;padding:56px 0 46px}
.hero h1{font-size:2.4rem;line-height:1.15;max-width:760px}
.hero p{margin-top:14px;max-width:700px;color:#dcebe2;font-size:1.08rem}
.chips{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}
.chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;padding:8px 16px;border-radius:999px;text-decoration:none;font-size:.92rem}
.chip:hover{background:var(--coral);border-color:var(--coral)}
section{padding:38px 0 6px}
h2.sec{font-size:1.55rem;color:var(--teal-d);margin-bottom:6px}
p.lede{color:var(--mut);max-width:760px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(60,50,20,.06)}
.card .art{height:120px;display:flex;align-items:flex-end;padding:14px;color:#fff;font-weight:bold;font-size:1.3rem;line-height:1.2}
.art.scot{background:linear-gradient(120deg,#2e5e4e,#0f4c4c)}
.art.lisb{background:linear-gradient(120deg,#c96f2e,#e07a3f)}
.art.toky{background:linear-gradient(120deg,#7a4a63,#0f4c4c)}
.card .bd{padding:16px 18px 18px}
.card .bd p{color:var(--mut);font-size:.97rem;margin:6px 0 12px}
.meta{font-size:.82rem;letter-spacing:.6px;text-transform:uppercase;color:var(--coral);font-weight:bold}
.btn{display:inline-block;background:var(--teal);color:#fff;padding:10px 18px;border-radius:9px;text-decoration:none;font-weight:bold}
.btn:hover{background:var(--coral)}
.btn.alt{background:var(--coral)}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:18px}
.pillar{background:#fff;border:1px dashed var(--coral);border-radius:12px;padding:16px}
.pillar b{color:var(--teal-d)}
.leadbox{background:var(--sand);border:2px solid var(--teal);border-radius:14px;padding:24px;margin:30px 0}
.leadbox h3{color:var(--teal-d);font-size:1.3rem}
.leadbox form{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.leadbox input{flex:1;min-width:220px;padding:12px;border:1px solid var(--line);border-radius:9px;font-size:1rem}
.leadbox button{background:var(--coral);color:#fff;border:0;padding:12px 20px;border-radius:9px;font-weight:bold;font-size:1rem;cursor:pointer}
.small{font-size:.85rem;color:var(--mut)}
footer.site{background:var(--teal-d);color:#cfe0d4;margin-top:48px;padding:34px 0}
footer.site a{color:var(--sand)}
.fcols{display:flex;gap:34px;flex-wrap:wrap}
.fcols div{min-width:180px}
.fcols b{color:#fff;display:block;margin-bottom:8px}
.fcols a{display:block;text-decoration:none;margin:4px 0;font-size:.95rem}
article.post{max-width:820px;margin:0 auto}
.post h1{font-size:2.15rem;line-height:1.2;color:var(--teal-d);margin:26px 0 8px}
.post .sub{color:var(--mut);margin-bottom:18px}
.tldr{background:#fff;border-left:6px solid var(--coral);border-radius:10px;padding:16px 20px;box-shadow:0 2px 8px rgba(60,50,20,.07);margin:18px 0}
table{width:100%;border-collapse:collapse;margin:14px 0;background:#fff;font-size:.97rem}
th,td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
th{background:var(--teal);color:#fff}
.toc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 22px;margin:18px 0}
.toc b{color:var(--teal-d)}
.toc ol{margin:8px 0 4px 20px}
.day{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:14px 0}
.day h3{color:var(--teal);margin-bottom:6px}
.day .slots div{margin:6px 0}
.day .slots b{color:var(--coral)}
article.post h2{color:var(--teal-d);margin:30px 0 8px;font-size:1.5rem}
article.post ul{margin:8px 0 8px 22px}
.ad-slot{border:1px dashed #c9bb92;border-radius:10px;color:#a08c54;text-align:center;padding:18px;margin:22px 0;font-size:.85rem;letter-spacing:1px;background:#fffdf4}
.note{background:#fdf3e3;border:1px solid #eccfa5;border-radius:10px;padding:12px 16px;margin:14px 0;font-size:.95rem}
.faq div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:10px 0}
.faq b{color:var(--teal-d)}
.coming li{margin:5px 0;color:var(--mut)}
@media(max-width:640px){.hero h1{font-size:1.8rem}.post h1{font-size:1.7rem}nav.main{gap:10px}}
