:root{--blue:#0B6E99;--dk:#095a7f;--ink:#0b2e4a;--wash:#f4f9fc;--line:#d7e7f0;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.6;}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.2;}
a{color:var(--blue);}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 22px;background:rgba(255,255,255,.96);border-bottom:3px solid var(--blue);}
.brand{font-family:Georgia,serif;font-weight:bold;font-size:22px;color:var(--blue);text-decoration:none;}
.navlinks{display:flex;gap:18px;flex-wrap:wrap;font-size:15px;}
.navlinks a{color:var(--ink);text-decoration:none;}
.navlinks a:hover{color:var(--blue);}
.hero{background:linear-gradient(135deg,#0B6E99,#0b2e4a);color:#fff;text-align:center;padding:110px 20px;}
.hero .kicker{letter-spacing:2px;text-transform:uppercase;font-size:13px;opacity:.85;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.hero h1{font-size:44px;margin:10px 0 14px;}
.hero p{max-width:680px;margin:0 auto 26px;font-size:19px;opacity:.95;}
.btn{display:inline-block;background:var(--blue);color:#fff;font-weight:bold;padding:13px 28px;border-radius:6px;text-decoration:none;border:none;cursor:pointer;}
.btn:hover{background:var(--dk);}
.btn.light{background:#fff;color:var(--blue);}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
section{padding:54px 0;}
.alt{background:var(--wash);}
section h2{font-size:30px;color:var(--blue);margin:0 0 8px;text-align:center;}
.intro{max-width:720px;margin:0 auto 30px;text-align:center;}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(11,46,74,.05);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(11,46,74,.12);}
.card .ph{height:120px;background:linear-gradient(135deg,#0B6E99,#5bb0cf);overflow:hidden;}
.card .ph img{width:100%;height:100%;object-fit:cover;display:block;}
.card .body{padding:16px;flex:1;display:flex;flex-direction:column;}
.card h3{font-size:17px;margin:0 0 6px;color:var(--blue);}
.card p{margin:0 0 12px;font-size:14.5px;flex:1;}
.card .btn{align-self:flex-start;font-size:13px;padding:8px 16px;}
.card .body{gap:6px;}
.card .btn.review{background:transparent;color:var(--blue);border:1px solid var(--line);padding:6px 12px;margin-top:6px;}
.card .btn.review:hover{background:var(--wash);}
.welcome{text-align:center;font-size:18px;max-width:760px;margin:0 auto;}
.book-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px;}
.note{background:#EAF4F9;border:1px solid var(--line);border-radius:8px;padding:14px 18px;max-width:760px;margin:22px auto 0;font-size:14.5px;}
.signup form{display:flex;gap:10px;max-width:460px;margin:16px auto 0;flex-wrap:wrap;justify-content:center;}
.signup input{flex:1;min-width:220px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;font-size:15px;}
footer{background:#0b2e4a;color:#cfe3ef;text-align:center;padding:30px 20px;font-size:14px;}
footer a{color:#fff;}
@media(max-width:600px){.hero h1{font-size:32px;}.navlinks{font-size:14px;gap:12px;}}
.azwrap{max-width:940px;margin:0 auto;}.azbar{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 auto 26px;max-width:820px;}.azbar a{min-width:30px;text-align:center;padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:var(--blue);text-decoration:none;font-weight:bold;font-size:14px;background:#fff;}.azbar a:hover{background:var(--blue);color:#fff;}.azbar span{min-width:30px;text-align:center;padding:6px 9px;border:1px solid var(--line);border-radius:6px;color:#9bb7c6;font-size:14px;background:var(--wash);}.azletter{font-family:Georgia,serif;color:var(--blue);font-size:26px;border-bottom:2px solid var(--line);padding-bottom:4px;margin:26px 0 10px;scroll-margin-top:70px;}.azitem{padding:10px 0;border-bottom:1px solid #eef4f8;}.azitem h3{display:inline;font-size:16px;color:var(--ink);margin:0;font-family:Georgia,serif;}.azitem .chip{display:inline-block;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--blue);background:var(--wash);border:1px solid var(--line);border-radius:20px;padding:2px 9px;margin-left:8px;vertical-align:middle;}.azitem p{margin:5px 0 0;font-size:14.5px;}.toplink{display:inline-block;margin-top:14px;font-size:13px;color:var(--blue);text-decoration:none;font-weight:bold;}.azsource{background:#EAF4F9;border:1px solid var(--line);border-radius:8px;padding:14px 18px;max-width:820px;margin:26px auto 0;font-size:13.5px;}
.azsearch{max-width:820px;margin:0 auto 18px;}
.azsearch input{width:100%;box-sizing:border-box;padding:12px 14px;font-size:16px;border:1px solid var(--line);border-radius:8px;font-family:inherit;color:var(--ink);}
.azsearch input:focus{outline:2px solid var(--blue);outline-offset:1px;}
.azfilters{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px auto 6px;max-width:820px;}
.azfilters button{cursor:pointer;font-family:inherit;font-size:13px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font-weight:600;}
.azfilters button[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue);}
.azcount{text-align:center;color:#5b7483;font-size:13.5px;margin:0 auto 20px;}
.azbar a.azoff{opacity:.28;pointer-events:none;}
.aznores{text-align:center;color:#5b7483;padding:26px 0;display:none;}
#toTop{position:fixed;right:18px;bottom:18px;z-index:60;display:none;width:44px;height:44px;border-radius:50%;border:none;background:var(--blue);color:#fff;font-size:20px;line-height:44px;text-align:center;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.25);}
#toTop:focus{outline:2px solid #fff;outline-offset:-4px;}
@media print{.azsearch,.azfilters,#toTop{display:none;}}.azperma{float:right;margin-top:-26px;color:#b9cbd6;text-decoration:none;font-weight:700;opacity:0;transition:opacity .15s;}.azitem:hover .azperma,.azperma:focus{opacity:1;color:var(--accent,#0D5EAF);}.azitem:target{background:#fff9e6;box-shadow:0 0 0 3px #ffe9a8;border-radius:8px;}@media print{.nav,.navlinks,.azbar,.aznores,#signup,#book,#business{display:none!important;}.azitem{page-break-inside:avoid;break-inside:avoid;}.azperma{display:none;}#az{background:#fff!important;}#az .azitem h3{font-size:13pt;}#az .azitem p{font-size:10.5pt;}}

/* Beating heart nav logo (lub-dub); holds still for reduced-motion */
@keyframes hb-beat{0%{transform:scale(1)}10%{transform:scale(1.06)}20%{transform:scale(1)}30%{transform:scale(1.04)}42%{transform:scale(1)}100%{transform:scale(1)}}
.brand svg{display:inline-block;transform-origin:center;animation:hb-beat 1s ease-in-out infinite;will-change:transform}
@media (prefers-reduced-motion:reduce){.brand svg{animation:none}}

.minilogo{display:block;margin:0 auto 10px;line-height:0;text-align:center}
.minilogo svg{display:inline-block}
#hopper .h-lede{max-width:760px;margin:0 auto 22px;text-align:center;color:var(--blue);font-size:18px;font-weight:600;line-height:1.55}
#hopper .h-points{max-width:760px;margin:0 auto 24px;padding:0;list-style:none;color:var(--dk);text-align:center}
#hopper .h-points li{margin:6px 0;font-size:16px}
#hopper .h-cta{text-align:center}
#findmyway .mapwrap{max-width:960px;margin:0 auto}
#findmyway .searchrow{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 auto 14px;max-width:640px}
#findmyway .searchrow input{flex:1 1 260px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit}
#findmyway .searchrow input:focus{outline:2px solid var(--blue);outline-offset:1px}
#findmyway #navmap{height:420px;border-radius:12px;border:1px solid var(--line);background:var(--wash);z-index:0}
#findmyway .navstatus{max-width:640px;margin:12px auto 0;text-align:center;color:var(--dk);font-size:15px;min-height:22px}
#findmyway .navresult{max-width:640px;margin:10px auto 0;text-align:center}
#findmyway .navresult .rname{color:var(--blue);font-weight:600;font-size:17px;display:block;margin-bottom:2px}
#findmyway .navresult .rdist{color:var(--dk);font-size:15px}
#findmyway .navbtns{text-align:center;margin-top:14px}
#findmyway .navnote{max-width:640px;margin:16px auto 0;text-align:center;font-size:13px;color:#557589;line-height:1.5}
.hoppercallout{max-width:820px;margin:0 auto 26px;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;background:var(--wash);text-align:center;color:var(--dk);font-size:15.5px;line-height:1.6}
.hoppercallout a{color:var(--blue);font-weight:600}
@media (max-width:600px){#findmyway #navmap{height:320px}}

@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.06)}28%{transform:scale(1)}42%{transform:scale(1.05)}60%{transform:scale(1)}100%{transform:scale(1)}}
.heart-logo{transform-origin:center;animation:heartbeat 1s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.heart-logo{animation:none}}

.wsbanner{max-width:100%;height:auto;}
.evrow{display:grid;grid-template-columns:96px 1fr;gap:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;margin-bottom:12px;box-shadow:0 2px 8px rgba(11,46,74,.05);transition:transform .15s,box-shadow .15s;}
.evrow:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,46,74,.12);}
.evdate{background:var(--blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 6px;text-align:center;}
.evdate .d{font-size:24px;font-weight:bold;line-height:1;}
.evdate .m{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:4px;}
.evdate .y{font-size:11px;opacity:.86;margin-top:2px;}
.evbody{padding:14px 18px;display:flex;flex-direction:column;gap:5px;}
.evbody h3{margin:0;font-size:17px;color:var(--blue);}
.evbody p{margin:0;font-size:14.5px;}
.evmeta{font-size:13px;color:#5a6b76;}
.evtags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;align-items:center;}
.evtag{font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:20px;border:1px solid var(--line);color:#5a6b76;background:var(--wash);}
.evtag.ok{background:#E4F3E8;border-color:#B7DFC2;color:#1E7A3C;}
.evtag.ann{background:#FFF4E0;border-color:#F0D9A8;color:#8A6212;}
.evlinks{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;}
.evlinks a{font-size:13px;padding:7px 14px;}
.promo{background:linear-gradient(135deg,var(--blue),#5bb0cf);color:#fff;border-radius:12px;padding:30px 26px;margin-top:34px;}
.promo h3{margin:0 0 8px;font-size:23px;color:#fff;}
.promo>p{margin:0 auto 20px;max-width:640px;font-size:15px;opacity:.94;text-align:center;}
.promo .pgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.pcard{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:18px;display:flex;flex-direction:column;}
.pcard h4{margin:0 0 8px;font-size:16px;color:#fff;}
.pcard p{margin:0 0 14px;font-size:14px;flex:1;opacity:.94;}
.pcard .btn.light{align-self:flex-start;font-size:13px;padding:9px 18px;}
.promo .pnote{margin:18px 0 0;font-size:13px;opacity:.85;text-align:center;}
@media(max-width:560px){.evrow{grid-template-columns:70px 1fr;}.evdate .d{font-size:19px;}.evbody{padding:12px 14px;}}


.navlinks a.hopper{color:var(--blue);font-weight:bold;}
.navlinks a.hopper:hover{color:var(--dk);}

.flagword{display:inline-block;font-weight:900;letter-spacing:.04em;line-height:1;
 font-size:clamp(46px,11vw,104px);
 background-color:#0D5EAF;
 background-image:
   linear-gradient(#fff,#fff),
   linear-gradient(#fff,#fff),
   linear-gradient(#0D5EAF,#0D5EAF),
   repeating-linear-gradient(#0D5EAF 0 11.111%,#fff 11.111% 22.222%);
 background-repeat:no-repeat;
 background-size:.084em .42em, .42em .084em, .42em .42em, 100% 100%;
 background-position:.168em .02em, .02em .168em, .02em .02em, 0 0;
 -webkit-background-clip:text;background-clip:text;
 color:transparent;-webkit-text-fill-color:transparent;
 filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
 .flagword{background:none;color:#fff;-webkit-text-fill-color:#fff;}}
.wordmark{text-align:center;margin:0 0 6px;}
.wordmark .sub{display:block;font-size:clamp(20px,4.4vw,40px);font-weight:800;
 letter-spacing:.34em;color:#fff;margin-top:6px;text-indent:.34em;
 text-shadow:0 2px 8px rgba(0,0,0,.45);}

.contact-block{padding:38px 0 46px;border-top:1px solid var(--line);}
.contact-block h2{margin:0 0 6px;}
.contact-block .lede{margin:0 0 22px;font-size:1.05rem;color:#3d5c73;max-width:62ch;}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.ccard{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:18px 18px 20px;}
.ccard h3{margin:0 0 8px;font-size:1.08rem;}
.ccard p{margin:0 0 14px;font-size:.95rem;}
.contact-block .cnote{margin:22px 0 0;font-size:.95rem;color:#3d5c73;
  background:var(--wash);border-left:4px solid var(--blue);border-radius:0 8px 8px 0;padding:14px 16px;}
img[data-failed="1"]{object-fit:contain;background:#e8eef3;}
.recipe{margin-top:12px;padding:12px 14px;background:var(--wash);border:1px solid var(--line);border-radius:10px;font-size:.92rem;}
.recipe h4{margin:0 0 6px;font-size:.98rem;}
.recipe-meta{margin:0 0 8px;}
.recipe .ingredients{margin:0 0 10px;padding:0;}
.recipe .ingredients dt{font-weight:600;float:left;clear:left;margin-right:6px;}
.recipe .ingredients dd{margin:0 0 2px 0;}
.recipe .method{margin:0 0 8px;padding-left:1.2em;}
.recipe .method li{margin-bottom:4px;}
.recipe-note{margin:0;font-style:italic;font-size:.88rem;}
.personal-pick{margin-top:10px;font-size:.92rem;background:var(--wash);border-left:4px solid var(--blue);border-radius:0 8px 8px 0;padding:8px 12px;}

.fnote{background:#EAF4F9;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:0 8px 8px 0;padding:12px 15px;margin:0 0 20px;font-size:14px;}
.fnote strong{color:var(--dk);}
.ftablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 22px;border:1px solid var(--line);border-radius:10px;background:#fff;}
table.ftable{border-collapse:collapse;width:100%;min-width:680px;font-size:13.5px;}
table.ftable caption{text-align:left;padding:12px 14px 10px;font-weight:bold;color:var(--dk);font-size:14.5px;}
table.ftable th,table.ftable td{border-top:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;}
table.ftable thead th{background:var(--wash);color:var(--dk);border-top:none;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;}
table.ftable tbody tr:nth-child(even){background:#fafdff;}
table.ftable td a{word-break:break-word;}
tr.fgroup th{background:#e4f0f7;font-weight:bold;color:var(--dk);font-size:13px;}
.fsrc{font-size:12.5px;color:#4a6b7a;}
.ftag{display:inline-block;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:20px;white-space:nowrap;margin-right:4px;}
.ftag.yr{background:#e3f4e8;color:#1c6b34;border:1px solid #b9e3c6;}
.ftag.su{background:#fff3df;color:#8a5300;border:1px solid #ffd9a0;}
.ftag.nv{background:#f1f1f1;color:#5a5a5a;border:1px solid #ddd;}
.fsources{font-size:13px;background:var(--wash);border:1px solid var(--line);border-radius:8px;padding:12px 15px;margin:18px 0 0;}
.fsources h4{margin:0 0 6px;font-size:13px;color:var(--dk);text-transform:uppercase;letter-spacing:.4px;}
.fsources ul{margin:0 0 6px 18px;padding:0;}
.fsources li{margin:0 0 4px;}
.fsources p{margin:0;font-size:12.5px;color:#4a6b7a;}
.fsub{font-size:20px;color:var(--dk);margin:26px 0 10px;font-family:Georgia,serif;}
@media(max-width:640px){table.ftable{font-size:12.5px;}}
.rvid{margin:14px 0 0;padding:12px 14px;background:#f4f7fa;border-left:4px solid #1a7fc1;border-radius:0 8px 8px 0}.rvid b{display:block;font-size:13px;margin-bottom:6px;color:#22303a}.rvid a{display:inline-block;margin:0 14px 0 0;font-size:14px}.rvid small{display:block;margin-top:6px;color:#5a6672;font-size:12px}
/* Recipes A to Z index - letter groups must never split across columns */
.rcount{font-size:13px;color:#54758b;margin:0 0 14px;}.rvenue{display:inline;font-weight:400;font-size:.88em;color:#54758b;font-style:italic;}.rmore{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);}
.rindex{column-count:3;column-gap:34px;}
@media(max-width:900px){.rindex{column-count:2;}}
@media(max-width:560px){.rindex{column-count:1;}}
.rgroup{display:inline-block;width:100%;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin:0 0 22px;}
.rletter{font-weight:bold;font-size:12px;letter-spacing:1.2px;color:var(--blue);border-bottom:2px solid var(--line);padding-bottom:4px;margin-bottom:7px;text-transform:uppercase;}
.rgroup a{display:block;padding:5px 0;font-size:14px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
.rgroup a:last-child{border-bottom:none;}
.rgroup a:hover{color:var(--blue);text-decoration:underline;}

.credit{font-size:11.5px;color:#5a7381;margin:6px 0 8px;font-style:italic;}

/* ------------------------------------------------------------------
   Missing component rules, added 30 August 2026.
   Every class below was already in the markup with no rule anywhere in
   this stylesheet, so it rendered with browser defaults only. Values are
   taken from this site's own existing rules and design tokens. Nothing
   was removed and no existing rule was edited.
   ------------------------------------------------------------------ */

/* Off canvas section menu. The MENU button, the scrim, the drawer and the
   open/close script were all on the page already. With no rule the drawer
   sat permanently expanded above the header and the button did nothing. */
.sidetoggle{position:fixed;left:18px;bottom:18px;z-index:70;border:none;cursor:pointer;
 background:var(--blue);color:#fff;font-family:inherit;font-size:12px;font-weight:bold;
 letter-spacing:.08em;padding:13px 17px;border-radius:24px;
 box-shadow:0 3px 10px rgba(0,0,0,.25);}
.sidetoggle:hover{background:var(--dk);}
.sidetoggle:focus{outline:2px solid #fff;outline-offset:-4px;}
.sidescrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:79;
 background:rgba(11,46,74,.45);opacity:0;visibility:hidden;transition:opacity .2s;}
.sidescrim.on{opacity:1;visibility:visible;}
.sidenav{position:fixed;top:0;left:0;z-index:80;width:290px;max-width:86vw;height:100%;
 overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;
 border-right:3px solid var(--blue);box-shadow:4px 0 24px rgba(11,46,74,.18);
 visibility:hidden;transform:translateX(-100%);
 transition:transform .22s ease,visibility 0s linear .22s;}
.sidenav.open{visibility:visible;transform:translateX(0);
 transition:transform .22s ease,visibility 0s;}
.sidehead{display:flex;align-items:center;justify-content:space-between;gap:10px;
 padding:14px 16px;border-bottom:3px solid var(--blue);
 font-family:Georgia,serif;font-weight:bold;font-size:19px;color:var(--blue);}
.sideclose{border:none;background:none;cursor:pointer;color:var(--blue);
 font-size:26px;line-height:1;padding:0 4px;font-family:inherit;}
.sideclose:hover{color:var(--dk);}
.sidegroup{padding:12px 10px 8px;border-bottom:1px solid var(--line);}
.sidegroup:last-child{border-bottom:none;padding-bottom:24px;}
.sidegroup h4{margin:0 0 6px;padding:0 8px;
 font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:11px;font-weight:bold;
 text-transform:uppercase;letter-spacing:1px;color:#5b7483;}
.sidenav a{display:flex;align-items:center;gap:9px;padding:8px;border-radius:6px;
 color:var(--ink);text-decoration:none;font-size:14.5px;}
.sidenav a:hover{background:var(--wash);color:var(--blue);}
.sidenav a.here{background:var(--wash);color:var(--blue);font-weight:bold;
 box-shadow:inset 3px 0 0 var(--blue);}
.sidenav .ico{flex:none;color:var(--blue);}
@media (prefers-reduced-motion:reduce){.sidenav,.sidescrim{transition:none;}}
@media print{.sidetoggle,.sidescrim,.sidenav{display:none!important;}}

/* For Expats and Newcomers, Apps Worth Having, Free Things to Do.
   Three card grids that had no grid rule and no card rule. */
.xcat{font-size:20px;color:var(--dk);margin:26px 0 10px;font-family:Georgia,serif;
 line-height:1.2;}
.xgrid,.appgrid,.freegrid{display:grid;gap:18px;
 grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.xcard,.appcard,.freecard{background:#fff;border:1px solid var(--line);border-radius:10px;
 padding:16px;box-shadow:0 2px 8px rgba(11,46,74,.05);
 transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;}
.xcard:hover,.appcard:hover,.freecard:hover{transform:translateY(-3px);
 box-shadow:0 8px 20px rgba(11,46,74,.12);}
.xcard h4,.appcard h4{margin:0 0 8px;font-size:16px;color:var(--blue);
 font-family:Georgia,serif;line-height:1.25;}
.freecard h3{margin:0 0 8px;font-size:17px;color:var(--blue);}
.xcard p,.appcard p,.freecard p{margin:0 0 12px;font-size:14.5px;flex:1;}
.xcard .btn,.appcard .btn,.freecard .btn{align-self:flex-start;font-size:13px;padding:8px 16px;}
.freebadge{align-self:flex-start;display:inline-block;font-size:11px;font-weight:bold;
 text-transform:uppercase;letter-spacing:.4px;padding:3px 9px;border-radius:20px;
 background:#e3f4e8;color:#1c6b34;border:1px solid #b9e3c6;margin:0 0 8px;}

/* What's On. Each category group had no spacing rule of its own. */
.wsgroup{margin:0 0 34px;}
.wsgroup h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;
 font-size:20px;color:var(--blue);}
.wsgroup>p{margin:0 0 14px;font-size:14.5px;color:#4a6b7a;max-width:760px;}

/* The three column contact band that sits above the footer. */
.footcontact{background:var(--wash);border-top:1px solid var(--line);padding:30px 0 34px;}
.fcwrap{max-width:1080px;margin:0 auto;padding:0 20px;display:grid;gap:18px;
 grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.footcontact h4{margin:0 0 6px;font-family:Georgia,serif;font-size:16px;color:var(--blue);}
.footcontact p{margin:0;font-size:14.5px;}

/* Arriving at a recipe by permalink. The script adds .rflash and there was
   nothing to show. Colours copied from the site's own .azitem:target rule. */
@keyframes rflash{0%{background:#fff9e6;box-shadow:0 0 0 3px #ffe9a8;}
 70%{background:#fff9e6;box-shadow:0 0 0 3px #ffe9a8;}
 100%{background:var(--wash);box-shadow:none;}}
.recipe.rflash{animation:rflash 1.8s ease-out 1;}
@media (prefers-reduced-motion:reduce){.recipe.rflash{animation:none;background:#fff9e6;}}

/* One recipe on this page uses the ingredient and step markup that Heart
   Athens uses. These four rules are copied from that stylesheet unchanged. */
.recipe-ingredients{margin:0 0 10px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;}
.recipe-ingredients dt{font-weight:600;}
.recipe-ingredients dd{margin:0;color:#4a5a63;}
.recipe-steps{margin:0 0 8px;padding-left:18px;}
.recipe-steps li{margin:0 0 4px;}

/* ------------------------------------------------------------------
   Keyboard and screen reader pass, added 30 August 2026.
   The page had no main landmark and no way to bypass the header, so a
   keyboard user tabbed through every navigation link before reaching
   the content. Values below are copied from this site's own existing
   rules: padding from .nav, colour and shadow from #toTop, focus
   outline from the existing :focus rule, font size from .navlinks,
   radius from .azitem:target, and the scroll offset from the site's own
   section{padding:54px 0}. Nothing was removed and no existing rule was
   edited.
   ------------------------------------------------------------------ */
main{display:block;}
#main{scroll-margin-top:54px;}
.skiplink{position:absolute;left:-9999px;top:0;z-index:90;
 display:inline-block;padding:12px 22px;
 background:var(--blue);color:#fff;
 font-weight:bold;font-size:15px;text-decoration:none;
 border-bottom-right-radius:8px;
 box-shadow:0 3px 10px rgba(0,0,0,.25);}
.skiplink:focus{left:0;outline:2px solid #fff;outline-offset:-4px;}
@media print{.skiplink{display:none;}}

/* ------------------------------------------------------------------
   Focus visibility pass, added 30 August 2026.
   Run 47 gave every page a main landmark and a way to bypass the header.
   This run answers the next question: once a keyboard user is moving,
   can they see where they are. Only five selectors on this page carried
   a focus style and nothing used :focus-visible, so almost every link,
   button and disclosure fell back to whatever ring the browser chose.
   Nothing below removes or edits an existing rule. Every value is taken
   from this site's own sheet: 2px solid var(--blue) with
   outline-offset:1px from .azsearch input:focus, and 2px solid #fff at
   an inset offset from #toTop:focus, .sidetoggle:focus and
   .skiplink:focus. The five existing :focus rules all outrank these on
   specificity, so they keep working exactly as before. A browser with no
   :focus-visible support drops these rules and keeps its default ring,
   which is today's behaviour.
   Solid blue buttons take the white ring inset, because an outside ring
   in the same blue would sit on the white card and read as a fatter
   button. White buttons take the blue ring inset for the mirror reason.
   ------------------------------------------------------------------ */
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.btn:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.btn.light:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.btn.review:focus-visible{outline:2px solid var(--blue);outline-offset:1px}

.xmeta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:0 0 8px;font-size:13px;flex:0 0 auto;}
.xprice{font-weight:bold;color:var(--blue);background:var(--wash);border:1px solid var(--line);border-radius:6px;padding:3px 9px;white-space:nowrap;}
.xprice.free{background:#E4F3E8;border-color:#B7DFC2;color:#1E7A3C;}
.xdur{color:#4a6b7a;white-space:nowrap;}
.xtags{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px;flex:0 0 auto;}
.chip.occ{margin:0;cursor:default;}
.tmmonth{color:#4a6b7a;font-weight:normal;}
.xlink.xwo{display:inline;margin-top:0;font-weight:normal;}
.xnote{font-size:12.5px;color:#4a6b7a;text-align:center;margin:18px auto 0;max-width:820px;}
.xlink{display:inline-block;font-size:13px;font-weight:bold;color:var(--blue);text-decoration:underline;margin-top:6px;}
.tm{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;background:#fff;padding:18px 20px;margin:0 0 30px;box-shadow:0 2px 8px rgba(11,46,74,.05);}
.tm h3{margin:0 0 4px;font-size:20px;color:var(--blue);}
.tm>p{margin:0 0 14px;font-size:14.5px;color:#4a6b7a;}
.tmlist{display:flex;flex-direction:column;gap:8px;}
.tmrow{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);}
.tmrow:first-child{border-top:none;}
.tmd{font-weight:bold;color:var(--blue);font-size:13px;letter-spacing:.03em;text-transform:uppercase;}
.tmt{font-size:14.5px;}
.tmt a{color:var(--blue);}
.tmnone{font-size:14.5px;color:#4a6b7a;margin:0;}
@media(max-width:640px){.tmrow{grid-template-columns:56px 1fr;gap:8px;}}

.rgrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 0 22px;}
.rcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 2px 8px rgba(11,46,74,.05);display:flex;flex-direction:column;}
.rcard.feat{border:2px solid var(--blue);}
.rcard h3{margin:0 0 4px;font-size:18px;color:var(--blue);}
.rprice{font-size:26px;font-weight:bold;color:var(--blue);margin:6px 0 2px;}
.rprice small{font-size:13px;font-weight:normal;color:#4a6b7a;}
.rcard>p{font-size:14.5px;margin:8px 0 12px;flex:1;}
.rlist{list-style:none;padding:0;margin:0 0 14px;font-size:14px;}
.rlist li{padding:5px 0;border-top:1px solid var(--line);}
.rlist li:first-child{border-top:none;}
.rtag{display:inline-block;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;background:var(--wash);border:1px solid var(--line);border-radius:20px;padding:2px 9px;color:var(--blue);margin:0 0 8px;}
.rnote{font-size:13px;color:#4a6b7a;max-width:820px;margin:0 auto;text-align:center;}

/* Section pages, 1 October 2026: a moved section keeps its look with its heading as the page h1 */
section h1{font-size:30px;color:var(--blue);margin:0 0 8px;text-align:center;}
.wsgroup h1{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:28px;color:var(--blue);}
.contact-block h1{font-size:30px;color:var(--blue);margin:0 0 8px;}

/* ==================================================================
   Section layout, 1 October 2026. Every rule is prefixed hc- so it can sit
   beside the site's own styles and beside the Island Hopper's styles.
   Dark bar #0b2e4a is the site's own dark brand colour; the active and
   hover bar uses the site's light accent #5bb0cf so it shows on the dark bar.
   ================================================================== */
.hc-mast{background:#fff;border-bottom:1px solid #d7e7f0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.hc-mastin{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;}
.hc-brand{font-family:Georgia,'Times New Roman',serif;font-weight:bold;font-size:22px;line-height:1.2;color:#0B6E99;text-decoration:none;white-space:nowrap;}
.hc-brand svg{vertical-align:-5px;margin-right:2px;}
.hc-tagline{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#4a6b7a;white-space:nowrap;}
@media(max-width:520px){.hc-tagline{display:none;}}

.hc-nav{background:#0b2e4a;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.hc-navin{max-width:1200px;margin:0 auto;padding:0 8px;display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;box-sizing:border-box;}
.hc-nav a{flex:0 0 auto;display:block;color:#fff;font-size:15px;font-weight:600;line-height:1.3;text-decoration:none;padding:13px 12px 9px;border-bottom:4px solid transparent;}
.hc-nav a:hover,.hc-nav a.on{border-bottom-color:#5bb0cf;color:#fff;}
.hc-nav a:focus-visible{outline:2px solid #fff;outline-offset:-3px;border-bottom-color:#5bb0cf;}

.hc-sub{background:#f2f2f2;border-bottom:1px solid #e2e2e2;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.hc-subin{max-width:1200px;margin:0 auto;padding:0 8px;display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;box-sizing:border-box;}
.hc-sub a{flex:0 0 auto;display:block;color:#1a1a1a;font-size:14px;line-height:1.3;text-decoration:none;padding:10px 12px;}
.hc-sub a:hover{text-decoration:underline;}
.hc-sub a.on{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;}
.hc-sub a:focus-visible{outline:2px solid #0B6E99;outline-offset:-3px;}

.hc-crumbs{max-width:1200px;margin:0 auto;padding:12px 20px 0;box-sizing:border-box;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13.5px;}
.hc-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;}
.hc-crumbs li{color:#4a6b7a;margin:0;padding:0;}
.hc-crumbs li+li::before{content:"\203A";margin:0 6px 0 2px;color:#4a6b7a;}
.hc-crumbs a{color:#0B6E99;text-decoration:none;}
.hc-crumbs a:hover{text-decoration:underline;}

.hc-anchor{display:block;position:relative;top:-8px;height:0;overflow:hidden;}
.hc-related{max-width:900px;margin:14px auto 0;padding:0 20px;font-size:14px;color:#4a6b7a;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}

/* landing pages: labelled tiles with counts */
.hc-landing h1{font-size:32px;color:#0B6E99;margin:0 0 8px;text-align:center;}
.hc-h2{font-size:24px;color:#0B6E99;margin:34px 0 4px;text-align:center;}
.hc-sum{text-align:center;color:#4a6b7a;margin:0 0 18px;font-size:14.5px;}
.hc-tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:6px 0 30px;}
.hc-tile{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #d7e7f0;border-top:4px solid #0B6E99;border-radius:10px;padding:16px 16px 18px;text-decoration:none;color:#0b2e4a;box-shadow:0 2px 8px rgba(11,46,74,.05);transition:transform .15s,box-shadow .15s;}
.hc-tile:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(11,46,74,.12);}
.hc-tile:focus-visible{outline:2px solid #0B6E99;outline-offset:2px;}
.hc-tile img{width:calc(100% + 32px);margin:-16px -16px 8px;height:120px;object-fit:cover;border-radius:6px 6px 0 0;display:block;}
.hc-tico{color:#0B6E99;line-height:0;margin:0 0 4px;}
.hc-tico svg{width:28px;height:28px;}
.hc-tname{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.2;color:#0B6E99;margin:0;}
.hc-count{font-weight:700;font-size:14px;color:#0b2e4a;}
.hc-tdesc{font-size:14px;color:#4a6b7a;line-height:1.45;}

/* front page */
.hc-wrap{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box;}
.hc-sec{padding:26px 0 8px;}
.hc-blockhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:3px solid #0b2e4a;padding-top:8px;margin:0 0 14px;}
.hc-blockhead h2{font-size:24px;color:#0b2e4a;margin:0;text-align:left;font-family:Georgia,'Times New Roman',serif;}
.hc-more{font-weight:700;font-size:14.5px;color:#0B6E99;text-decoration:none;white-space:nowrap;}
.hc-more:hover{text-decoration:underline;}
.hc-top{display:grid;gap:18px;grid-template-columns:2fr 1fr 1fr;}
.hc-top .hc-lead{grid-row:span 2;}
.hc-four{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);}
@media(max-width:960px){.hc-four{grid-template-columns:repeat(2,1fr);}.hc-top{grid-template-columns:1fr 1fr;}.hc-top .hc-lead{grid-column:span 2;grid-row:auto;}}
@media(max-width:600px){.hc-four{grid-template-columns:1fr;}.hc-top{grid-template-columns:1fr;}.hc-top .hc-lead{grid-column:auto;}}
.hc-card{background:#fff;border:1px solid #d7e7f0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;}
.hc-cardlink{display:flex;flex-direction:column;gap:4px;padding:0 0 12px;color:#0b2e4a;text-decoration:none;flex:1;}
.hc-cardlink:hover h3{text-decoration:underline;}
.hc-cardlink:focus-visible{outline:2px solid #0B6E99;outline-offset:-2px;}
.hc-ph{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#0B6E99,#5bb0cf);overflow:hidden;margin:0 0 8px;}
.hc-ph img{width:100%;height:100%;object-fit:cover;display:block;}
.hc-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.hc-noimg svg{width:44px;height:44px;opacity:.9;}
.hc-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0B6E99;padding:0 12px;}
.hc-card h3{font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.3;margin:0;padding:0 12px;color:#0b2e4a;}
.hc-card p{font-size:14px;line-height:1.45;margin:0;padding:0 12px;color:#3d5c73;}
.hc-lead h3{font-size:24px;font-family:Georgia,'Times New Roman',serif;}
.hc-lead p{font-size:15.5px;}
.hc-credit{font-size:11.5px !important;color:#5b7483 !important;padding:0 12px 10px !important;margin:0 !important;}
.hc-credit a{color:#5b7483;}
.hc-line{font-size:15px;margin:0 0 16px;}

/* weather */
.hc-wx{margin:4px 0 12px;}
.hc-wxmsg{font-size:14.5px;color:#4a6b7a;margin:6px 0;}
.hc-wxlist{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
.hc-wx7 .hc-wxlist{grid-template-columns:repeat(7,minmax(118px,1fr));overflow-x:auto;}
@media(max-width:960px){.hc-wx7 .hc-wxlist{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;}.hc-wx7 .hc-wxday{flex:0 0 132px;}}
.hc-wxday{background:#fff;border:1px solid #d7e7f0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-size:14px;color:#0b2e4a;}
.hc-wxd{font-weight:700;font-size:14.5px;}
.hc-wxi{font-size:26px;line-height:1.2;}
.hc-wxw{color:#3d5c73;font-size:13.5px;min-height:2.4em;}
.hc-wxt b{font-size:17px;}
.hc-wxr,.hc-wxk{color:#4a6b7a;font-size:13px;}
.hc-wxcredit{font-size:12.5px;color:#5b7483;margin:8px 0 0;}
.hc-wxcredit a{color:#0B6E99;}

/* footer columns, every page */
.hc-foot{background:#0b2e4a;color:#cfe3ef;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin-top:0;border-bottom:1px solid rgba(207,227,239,.18);}
.hc-footin{max-width:1200px;margin:0 auto;padding:28px 20px 10px;display:grid;gap:18px 24px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));box-sizing:border-box;}
.hc-fcol h2{font-family:Georgia,'Times New Roman',serif;font-size:16px;color:#fff;margin:0 0 8px;text-align:left;border-bottom:2px solid #5bb0cf;padding-bottom:4px;}
.hc-fcol ul{list-style:none;margin:0;padding:0;}
.hc-fcol li{margin:0;padding:3px 0;font-size:14px;line-height:1.4;}
.hc-fcol a{color:#cfe3ef;text-decoration:none;}
.hc-fcol a:hover{color:#fff;text-decoration:underline;}
@media print{.hc-nav,.hc-sub,.hc-foot,.hc-crumbs{display:none;}}

/* ==================================================================
   Design refinement, 1 October 2026 (v2). Layout patterns only, borrowed from
   the BBC, the Guardian and the Independent; the site's own colours, fonts and
   photos stay. Every section has its own colour (Guardian): a deep shade for
   text and rules on white or the grey strip (5.0 to 8.1 to 1) and a light shade
   for the underline on the dark bar (5.7 to 8.4 to 1).
   ================================================================== */
.hc-s-home{--sec:#0B6E99;--secl:#5bb0cf;}
.hc-s-explore,.hc-s-hopper{--sec:#00695C;--secl:#4fd1bd;}
.hc-s-food{--sec:#B23A12;--secl:#ff9a76;}
.hc-s-recipes{--sec:#8A4B00;--secl:#f5b860;}
.hc-s-travel{--sec:#1D5FA8;--secl:#7fb2ff;}
.hc-s-whatson{--sec:#7A2E8E;--secl:#d39bff;}
.hc-s-promotions{--sec:#B0124F;--secl:#ff8ab8;}
.hc-s-living{--sec:#2E6B30;--secl:#8fd694;}
.hc-s-az{--sec:#4B47A0;--secl:#a9a6ff;}
.hc-s-weather{--sec:#00718A;--secl:#6fd3ea;}
.hc-s-news{--sec:#B3261E;--secl:#ff8f86;}
.hc-s-contact{--sec:#555555;--secl:#c8c8c8;}

/* the section bar sticks to the top while scrolling, compact (Independent) */
.hc-nav{position:sticky;top:0;z-index:1100;box-shadow:0 1px 0 rgba(0,0,0,.25);}
.hc-nav a{padding:11px 12px 7px;}
.hc-nav a:hover,.hc-nav a.on,.hc-nav a:focus-visible{border-bottom-color:var(--secl,#5bb0cf);}
html{scroll-padding-top:58px;}
.hc-sub a.on{text-decoration-color:var(--sec,#0B6E99);}

/* section page header: rule and label in the section colour (Guardian) */
.hc-sechead{max-width:1200px;margin:0 auto;padding:12px 20px 0;box-sizing:border-box;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.hc-sechead a{display:inline-block;border-top:4px solid var(--sec,#0B6E99);padding-top:5px;color:var(--sec,#0B6E99);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;}
.hc-sechead a:hover{text-decoration:underline;}
.hc-tile{border-top-color:var(--sec,#0B6E99);}

/* kickers: the subsection name before each headline, in the section colour */
.hc-label{color:var(--sec,#0B6E99);}

/* home blocks: heading in a left column on desktop, cards to the right, thin grey dividers, no boxes (Guardian) */
.hc-bgrid{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:14px 28px;border-top:3px solid var(--sec,#0b2e4a);padding-top:10px;}
.hc-bgrid .hc-blockhead{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;border-top:0;padding-top:0;margin:0;}
.hc-bgrid .hc-blockhead h2{color:var(--sec,#0b2e4a);font-size:23px;line-height:1.2;}
.hc-bgrid .hc-more{color:var(--sec,#0B6E99);}
.hc-wxsec .hc-blockhead{border-top-color:var(--sec,#0b2e4a);}
.hc-wxsec .hc-blockhead h2{color:var(--sec,#0b2e4a);}
.hc-block .hc-four{gap:0;}
.hc-block .hc-card{background:transparent;border:0;border-radius:0;padding:0 14px;border-left:1px solid #dcdcdc;}
.hc-block .hc-card:first-child{padding-left:0;border-left:0;}
.hc-block .hc-card h3,.hc-block .hc-card p,.hc-block .hc-label{padding-left:0;padding-right:0;}
.hc-block .hc-credit{padding-left:0 !important;padding-right:0 !important;}
.hc-block .hc-ph{border-radius:2px;}
.hc-bgrid .hc-line{margin:0;}
@media(max-width:960px){
  .hc-bgrid{grid-template-columns:1fr;}
  .hc-bgrid .hc-blockhead{flex-direction:row;align-items:baseline;justify-content:space-between;}
  .hc-block .hc-card:nth-child(odd){padding-left:0;border-left:0;}
  .hc-block .hc-card:nth-child(n+3){border-top:1px solid #dcdcdc;padding-top:12px;margin-top:12px;}
}
@media(max-width:600px){
  .hc-block .hc-card{padding:0;border-left:0;}
  .hc-block .hc-card+.hc-card{border-top:1px solid #dcdcdc;padding-top:12px;margin-top:12px;}
}

/* top stories: small cards divided by thin lines; the lead is a large photo with the headline over a dark band (Independent) */
.hc-top .hc-card:not(.hc-lead){background:transparent;border:0;border-radius:0;border-top:1px solid #dcdcdc;padding-top:10px;}
.hc-top .hc-card:not(.hc-lead) h3,.hc-top .hc-card:not(.hc-lead) p,.hc-top .hc-card:not(.hc-lead) .hc-label{padding-left:0;padding-right:0;}
.hc-card h3{font-weight:800;}
.hc-lead{background:transparent;border:0;border-radius:0;}
.hc-lead .hc-cardlink{position:relative;display:block;min-height:360px;padding:0;background:#08141f;border-radius:4px;overflow:hidden;}
.hc-lead .hc-ph{position:absolute;top:0;left:0;right:0;bottom:0;aspect-ratio:auto;margin:0;}
.hc-lead .hc-over{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:60px 18px 18px;
  background:linear-gradient(to top,rgba(8,20,31,.94) 0,rgba(8,20,31,.92) calc(100% - 60px),rgba(8,20,31,0) 100%);}
.hc-lead .hc-label{color:var(--secl,#5bb0cf);padding:0;}
.hc-lead h3{color:#fff;font-size:30px;line-height:1.15;padding:0;}
.hc-lead p{color:#e8eef2;padding:0;font-size:15.5px;}
.hc-lead .hc-credit{padding:6px 0 0 !important;}
@media(max-width:600px){.hc-lead .hc-cardlink{min-height:300px;}.hc-lead h3{font-size:24px;}}

/* promotions and news cards */
.hc-promogrid,.hc-newsgrid{display:grid;gap:0 28px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:8px 0 18px;text-align:left;}
.hc-promo,.hc-newscard{border-top:3px solid var(--sec,#0B6E99);padding:12px 0 20px;}
.hc-kicker{margin:0 0 4px;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--sec,#0B6E99);}
.hc-promo h2,.hc-newscard h2,.hc-advcol h2{font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.3;text-align:left;color:#0b2e4a;margin:0 0 8px;}
.hc-newscard h2 a{color:#0b2e4a;text-decoration:none;}
.hc-newscard h2 a:hover{text-decoration:underline;}
.hc-newscard p{margin:0;}
.hc-newscard .hc-latin{margin:-4px 0 6px;color:#4a6b7a;font-size:14px;}
.hc-pwhat{margin:0 0 10px;}
.hc-pfacts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 10px;font-size:14.5px;}
.hc-pfacts dt{font-weight:700;color:#0b2e4a;}
.hc-pfacts dd{margin:0;}
.hc-psrc{font-size:14px;margin:0;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;}
.hc-checked{color:#4a6b7a;font-size:13px;}
@media(max-width:600px){.hc-pfacts{grid-template-columns:1fr;gap:0;}.hc-pfacts dd{margin:0 0 6px;}}
[data-ends][hidden]{display:none !important;}
.hc-promoall{padding-top:0;}
.hc-promolist{list-style:none;margin:0 auto 10px;padding:0;max-width:820px;text-align:left;}
.hc-promolist li{padding:9px 0;border-bottom:1px solid #e2e2e2;}
.hc-promolist a{font-weight:700;}
.hc-pwhen{display:block;color:#4a6b7a;font-size:14px;}
.hc-advgrid{display:grid;gap:10px 36px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));text-align:left;}
.hc-sendlist,.hc-rules{margin:0 0 14px;padding-left:22px;}
.hc-sendlist li,.hc-rules li{margin:4px 0;}
.hc-advbtn{text-align:center;margin:18px 0;}

/* footer: a compact row of Corfu news outlets */
.hc-newsrow{max-width:1200px;margin:0 auto;padding:4px 20px 18px;box-sizing:border-box;font-size:13.5px;line-height:1.8;color:#cfe3ef;}
.hc-newsrow a{color:#cfe3ef;}
.hc-newsrow a:hover{color:#fff;}
.hc-newslabel{font-weight:700;color:#fff;margin-right:4px;}

/* Heart Corfu v3, 4 Oct 2026. New sections, venue cards, forums, and the Corfu character:
   Liston arcade arches under section heads, an Ionian wave rule, serif headings. Section colours unchanged. */
.hc-s-picks{--sec:#A05A00;--secl:#ffb347;}
.hc-s-forums{--sec:#2F5D62;--secl:#8fd3da;}
.hc-sechead a{position:relative;}
.hc-sechead::after{content:"";display:block;height:9px;margin-top:6px;opacity:.28;background-image:radial-gradient(circle at 10px 10px,transparent 6px,var(--sec,#0B6E99) 6.5px,var(--sec,#0B6E99) 8px,transparent 8.5px);background-size:20px 10px;background-repeat:repeat-x;}
.hc-page h1,.hc-landing h1,.hc-diff h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:.2px;}
.hero .kicker{font-family:Georgia,"Times New Roman",serif;font-style:italic;letter-spacing:.04em;}
.hero .hc-heroline{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.08em;margin:0 0 6px;}
.hc-page h2,.hc-revnote h2,.hc-sources h2{padding-bottom:8px;margin-top:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='6' viewBox='0 0 40 6'%3E%3Cpath d='M0 3 Q10 0 20 3 T40 3' fill='none' stroke='%230B6E99' stroke-opacity='.35' stroke-width='1.5'/%3E%3C/svg%3E") left bottom repeat-x;}
.hc-page{padding:10px 0 30px;}
.hc-page .intro{font-size:1.05rem;}
.hc-n{display:inline-block;min-width:24px;padding:1px 7px;margin-left:6px;border-radius:12px;background:var(--wash,#f4f9fc);border:1px solid var(--line,#d7e7f0);font-size:13px;font-weight:600;vertical-align:middle;}
.card.venue .body{gap:4px;}
.card.venue p{flex:0 0 auto;margin:0 0 6px;}
.card.venue .vmeta{font-size:13px;color:#4a6577;}
.card.venue .vtype{font-weight:700;color:var(--sec,#0B6E99);}
.card.venue .vband{font-weight:700;}
.card.venue .vaddr,.card.venue .vdeliv,.card.venue .vlisted,.card .hc-src{font-size:13px;}
.card .vbtns{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px;}
.card .vbtns .btn{font-size:12.5px;padding:7px 12px;}
.tag{display:inline-block;margin:2px 4px 2px 0;padding:1px 8px;border-radius:10px;border:1px solid var(--line,#d7e7f0);background:#fff;font-size:12px;text-decoration:none;color:#0b2e4a;}
.tag:hover{background:var(--wash,#f4f9fc);}
.btn.review.hc-rv{border-style:dashed;}
.hc-legend,.hc-note,.hc-modline{font-size:14px;background:var(--wash,#f4f9fc);border-left:4px solid var(--sec,#0B6E99);border-radius:0 8px 8px 0;padding:8px 12px;}
.hc-vlist{columns:2 260px;padding-left:18px;}
.hc-vlist li{margin:0 0 6px;break-inside:avoid;}
.hc-where{color:#4a6577;font-size:13px;}
.hc-tablewrap{overflow-x:auto;}
.hc-table{border-collapse:collapse;min-width:100%;font-size:14px;}
.hc-table th,.hc-table td{border:1px solid var(--line,#d7e7f0);padding:6px 8px;text-align:left;}
.hc-table th{background:var(--wash,#f4f9fc);}
.hc-faq{border:1px solid var(--line,#d7e7f0);border-radius:8px;padding:8px 12px;margin:0 0 8px;background:#fff;}
.hc-faq summary{font-weight:700;cursor:pointer;}
.hc-rules li{margin:0 0 8px;}
.hc-stmt{background:#fff;border:1px solid var(--line,#d7e7f0);border-radius:10px;padding:4px 16px 8px;margin:0 0 14px;}
.hc-revnote,.hc-sources{padding:6px 0 18px;}
.hc-revnote p,.hc-sources p,.hc-sources li{font-size:14px;}
.hc-sources ul{padding-left:18px;}
.hc-sources li{word-break:break-word;}
.hc-diffbox{border:1px solid var(--line,#d7e7f0);border-top:4px solid #0B6E99;border-radius:10px;background:#fff;padding:6px 18px 14px;margin:6px 0 10px;box-shadow:0 2px 8px rgba(11,46,74,.05);}
.hc-diffbox ul{padding-left:18px;}
.hc-diffbox li{margin:0 0 8px;}
.hc-picklink{margin:6px 0 0;font-size:14px;}
.card.pick.soon{border-style:dashed;}

/* Hero photos, 4 Oct 2026, the heartathens pattern. Commons photos load like the card photos
   (Special:FilePath, 1600 px wide, 800 px on phones). An ink gradient plus a darker plate keep the
   hero text at 7:1 or better against white on any part of the photo; the credit sits on a dark chip. */
.hero.hero-photo{position:relative;background-color:#0b2e4a;background-image:linear-gradient(180deg,rgba(11,46,74,.42) 0%,rgba(11,46,74,.38) 45%,rgba(11,46,74,.62) 100%),var(--hero-lg);background-size:cover;background-position:center 45%;background-repeat:no-repeat;padding:76px 20px 104px}
.hc-lhero{position:relative;margin:0 0 24px;border-radius:12px;overflow:hidden;text-align:center;color:#fff;background-color:#0b2e4a;background-image:linear-gradient(180deg,rgba(11,46,74,.42) 0%,rgba(11,46,74,.62) 100%),var(--hero-lg);background-size:cover;background-position:center 50%;background-repeat:no-repeat;padding:46px 18px 62px}
@media(max-width:700px){.hero.hero-photo{background-image:linear-gradient(180deg,rgba(11,46,74,.42) 0%,rgba(11,46,74,.38) 45%,rgba(11,46,74,.62) 100%),var(--hero-sm);padding:44px 14px 92px}.hc-lhero{background-image:linear-gradient(180deg,rgba(11,46,74,.42) 0%,rgba(11,46,74,.62) 100%),var(--hero-sm);padding:30px 12px 62px}}
.hero-plate{display:inline-block;max-width:780px;background:rgba(11,46,74,.66);border-radius:14px;padding:22px 26px 26px;box-shadow:0 10px 34px rgba(0,0,0,.28);color:#fff}
.hero-plate p{margin:0 auto 22px}
.hc-lhero .hero-plate h1{color:#fff!important;margin:0 0 8px}
.hc-lhero .hero-plate .intro{color:#fff!important;margin:0 auto;opacity:1}
.hero>.hero-credit,.hc-lhero>.hero-credit{position:absolute;right:10px;bottom:8px;z-index:2;margin:0;max-width:94%;font-size:11.5px;line-height:1.35;font-style:italic;color:#e6eef3;background:rgba(0,0,0,.72);padding:3px 8px;border-radius:4px;text-align:right}
.hero>.hero-credit a,.hc-lhero>.hero-credit a{color:#fff}
@media(max-width:600px){.hero-plate{padding:16px 14px 20px}}

/* NIGHT v17, 10 Oct 2026: the masthead search box (K22), a visually hidden label class and the search page */
.hc-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hc-search{display:flex;align-items:center;gap:6px;margin:0 0 0 auto}
.hc-search input{width:170px;font:15px/1.2 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:7px 12px;border:1px solid #7fa9bf;border-radius:18px;background:#fff;color:#1b2b33}
.hc-search input:focus{outline:2px solid #0B6E99;outline-offset:1px}
.hc-search button{font:600 14px/1.2 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:7px 13px;border:1px solid #0B6E99;border-radius:18px;background:#0B6E99;color:#fff;cursor:pointer}
.hc-search button:hover{background:#095a7f}
@media (max-width:640px){.hc-mastin{flex-wrap:wrap}.hc-search{flex:1 1 100%;order:3;margin:0}.hc-search input{flex:1 1 auto;width:auto;min-width:0}}
.sx-form{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.sx-form input{flex:1 1 260px;min-width:0;font:17px/1.3 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:10px 14px;border:1px solid #7fa9bf;border-radius:22px;color:#1b2b33;background:#fff}
.sx-form button,.sx-more{font:600 15px/1.2 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:10px 18px;border:1px solid #0B6E99;border-radius:22px;background:#0B6E99;color:#fff;cursor:pointer}
.sx-status{font-weight:600;color:#1b2b33;min-height:1.4em}.sx-results{list-style:none;padding:0;margin:0 0 14px}.sx-results li{background:#fff;border:1px solid #d7e7f0;border-radius:8px;padding:10px 14px;margin:0 0 8px}
.sx-results a{font-weight:700;color:#0D5EAF}.sx-kind{display:block;font-size:13px;color:#4a6b7a;margin-top:2px}.sx-desc{display:block;font-size:14px;color:#33454f;margin-top:2px}
.sx-lens{display:block;width:120px;height:auto;margin:0 0 6px}.sx-all h3{margin:18px 0 6px}.sx-all ul{columns:2 260px;column-gap:28px;padding-left:18px}.sx-all li{margin:0 0 4px;break-inside:avoid}
