@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/AtkinsonHyperlegible-400i.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/AtkinsonHyperlegible-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/AtkinsonHyperlegible-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/Lora-500i.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/Lora-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/Lora-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--paper:#ffffff;--stone:#f1ede6;--ink:#232120;--ink-soft:#4a4642;--brick:#7a2e22;--brick-deep:#5e2219;--link:#1a4a7a;--rule:#d9d2c6;--focus:#d87f1f;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#1c1a18;--stone:#262320;--ink:#f0ebe3;--ink-soft:#cfc7bb;--brick:#d07a68;--brick-deep:#e39484;--link:#8fbfe8;--rule:#3d3833;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Atkinson Hyperlegible",Verdana,"Segoe UI",sans-serif;font-size:1.25rem;line-height:1.6}
h1,h2,h3{font-family:Lora,Georgia,"Times New Roman",serif;font-weight:600;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.5vw,3rem);outline:none}
h2{font-size:clamp(1.6rem,3vw,2.1rem)}
h3{font-size:1.45rem}
p{margin:0 0 1em;max-width:68ch}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--brick)}
:focus-visible{outline:4px solid var(--focus);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-999px;top:8px;background:var(--brick);color:#fff;padding:.6rem 1rem;z-index:20}
.skip:focus{left:8px}
.wrap{width:min(1080px,100% - 2.5rem);margin-inline:auto}
.page{padding:2.5rem 0 3.5rem}


/* masthead */
header.top{border-bottom:1px solid var(--rule);background:var(--paper)}
.masthead{position:relative;background:var(--stone);overflow:hidden;border-bottom:1px solid var(--rule)}
.masthead svg.sky{position:absolute;right:0;bottom:22px;width:min(62%,880px);height:auto;display:block}
.masthead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:var(--brick);opacity:.55}
.masthead .text{position:relative;z-index:1;padding:2.2rem 0 2.8rem}
.site-title{display:block;font-family:Lora,Georgia,serif;font-weight:600;line-height:1.05;color:var(--brick);text-decoration:none;font-size:clamp(1.9rem,4.2vw,2.9rem);max-width:12ch}
.site-title:hover{color:var(--brick-deep)}
.site-title span{display:block;font-size:.55em;font-weight:500;font-style:italic;color:var(--ink);margin-top:.35em;line-height:1.2}
.masthead p{margin:.7rem 0 0;color:var(--ink-soft);font-size:1.1rem}
nav ul{list-style:none;margin:0;padding:.35rem 0;display:flex;flex-wrap:wrap;gap:.25rem}
nav a{display:inline-block;padding:.7rem 1rem;text-decoration:none;color:var(--ink);border-radius:4px;min-height:44px;font-weight:700}
nav a:hover{background:var(--stone);color:var(--brick)}
nav a[aria-current="page"]{background:var(--brick);color:#fff}

/* icons share the skyline's two-tone language */
.item .ico svg,.bigico svg{border-radius:6px;overflow:hidden;display:block}
.tile .ico svg{display:block;transition:transform .25s ease}
.tile:hover .ico svg,.tile:focus-visible .ico svg{transform:scale(1.05)}
.tile .ico{overflow:hidden}
@media (prefers-reduced-motion:reduce){.tile .ico svg{transition:none}.tile:hover .ico svg{transform:none}}

/* home */
.welcome{margin-bottom:2.5rem}
.lede{font-size:1.35rem;max-width:40ch}
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
@media (max-width:1000px) and (min-width:821px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border:2px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--paper);min-height:44px}
.tile .ico{display:block;aspect-ratio:6/5;border-bottom:4px solid var(--brick)}
.tile .ico svg{width:100%;height:100%;border-radius:0}
.tile .t{font-family:Lora,Georgia,serif;font-weight:600;font-size:1.4rem;color:var(--brick);padding:.9rem 1rem .2rem}
.tile .d{padding:0 1rem 1rem;font-size:1.05rem;color:var(--ink-soft)}
.tile:hover,.tile:focus-visible{border-color:var(--brick)}
.tile:hover .t{text-decoration:underline;text-underline-offset:3px}

/* list pages */
.intro{max-width:62ch;font-size:1.25rem;color:var(--ink-soft)}
.items{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.4rem}
.item{display:grid;grid-template-columns:200px 1fr;gap:1.6rem;align-items:start;border:2px solid var(--rule);border-radius:8px;padding:1.2rem}
.item .ico svg{width:100%;height:auto}
.item h3{margin:.2rem 0 .5rem}
.item h3 a{color:var(--ink);text-decoration:none}
.item h3 a:hover{color:var(--brick);text-decoration:underline}
details{margin:0 0 .8rem}
summary{cursor:pointer;font-weight:700;color:var(--link);padding:.5rem 0;list-style:none;display:inline-flex;align-items:center;gap:.5rem;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::before{content:"";width:0;height:0;border-left:9px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;transition:transform .15s}
details[open] summary::before{transform:rotate(90deg)}
details p{margin:.3rem 0 .6rem;color:var(--ink-soft)}
.links{margin:0}
.btn{display:inline-block;padding:.9rem 1.5rem;border-radius:6px;font-weight:700;text-decoration:none;min-height:48px;border:3px solid var(--brick);margin:.2rem .4rem .2rem 0}
.btn.primary{background:var(--brick);color:#fff}
.btn.primary:hover{background:var(--brick-deep);border-color:var(--brick-deep);color:#fff}
.btn.secondary{color:var(--brick);background:transparent}
.btn.secondary:hover{background:var(--stone)}
.btn.small{padding:.55rem 1.1rem;font-size:1.05rem;color:var(--brick);background:transparent}
.btn.small:hover{background:var(--stone)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.primary,:root:not([data-theme="light"]) nav a[aria-current="page"]{color:#1c1a18}}
.cta{margin-top:3rem;background:var(--stone);border-radius:8px;padding:1.8rem 2rem}
.cta h2{margin-top:0}
.cta p:last-child{margin-bottom:0}

/* detail pages */
.crumb{font-size:1.05rem;margin-bottom:1rem}
.detail{display:grid;grid-template-columns:1fr 1.5fr;gap:2.5rem;align-items:start}
.detail .photo{border-radius:6px}
.bigico svg{width:100%;height:auto}
.meta{color:var(--ink-soft);font-size:1.05rem}
.facts{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.4rem}
.facts li{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem}
.facts li span:first-child{font-weight:700}
.mt{margin-top:3rem}
.route{margin:1rem 0 0;padding:0;list-style:none;counter-reset:stop;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}
.route::before{content:"";position:absolute;left:8%;right:8%;top:22px;height:4px;background:var(--brick);z-index:0}
.route li{counter-increment:stop;position:relative;z-index:1}
.route li::before{content:counter(stop);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--brick);color:#fff;font-weight:700;font-size:1.3rem;margin:0 auto .8rem;border:4px solid var(--paper)}
.route img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:4px}
.route strong{display:block;margin-top:.6rem;line-height:1.3}
.route small{display:block;color:var(--ink-soft);font-size:1rem;line-height:1.4}

/* dates, about, book */
.dates{list-style:none;margin:2rem 0 0;padding:0}
.dates li{display:grid;grid-template-columns:11rem 1fr;gap:1.5rem;padding:1.4rem 0;border-top:1px solid var(--rule)}
.dates li:last-child{border-bottom:1px solid var(--rule)}
.dates time{font-family:Lora,Georgia,serif;font-size:1.45rem;font-weight:600;line-height:1.2}
.dates time small{display:block;font-family:"Atkinson Hyperlegible",Verdana,sans-serif;font-weight:400;font-size:1rem;color:var(--ink-soft);margin-top:.3rem}
.dates p{margin-bottom:.4em}
.past{margin-top:2.5rem}
.past h2{font-size:1.4rem}
.about{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:start}
.about img{border-radius:6px}
blockquote{margin:2rem 0 0;padding:1.2rem 1.5rem;border-left:6px solid var(--brick);background:var(--stone);font-style:italic;max-width:60ch}
blockquote cite{display:block;font-style:normal;margin-top:.5rem;color:var(--ink-soft);font-size:1.05rem}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.contact dl{margin:1.2rem 0 2rem}
.contact dt{font-weight:700}
.contact dd{margin:0 0 1.1rem;font-size:1.3rem}
.note{background:var(--stone);padding:1.3rem 1.5rem;border-radius:6px;font-size:1.1rem}
.note p:last-child{margin-bottom:0}
footer{border-top:1px solid var(--rule);padding:2rem 0 3rem;color:var(--ink-soft);font-size:1.05rem}
footer p{margin-bottom:.4em}
.tbc{background:#fff3b0;color:#4a3b00;padding:0 .3em;border-radius:3px;font-size:.95em}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tbc{background:#5a4a00;color:#fff3b0}}

@media (max-width:820px){
  body{font-size:1.15rem}
  .masthead{display:flex;flex-direction:column;border-bottom:12px solid var(--brick)}
  .masthead svg.sky{position:static;order:2;width:100%;margin-top:.5rem}
  .masthead::after{display:none}
  .site-title{max-width:none}
  .masthead .text{order:1;padding:1.6rem 0 0}
  nav a{padding:.8rem .9rem}
  .tiles{grid-template-columns:repeat(2,1fr);gap:1rem}
  .tile .t{font-size:1.2rem}
  .item{grid-template-columns:110px 1fr;gap:1rem}
  .detail,.about,.contact{grid-template-columns:1fr;gap:1.8rem}
  .detail>*,.about>*,.contact>*{min-width:0}
  .bigico{max-width:260px}
  .route{grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem}
  .route::before{display:none}
  .dates li,.facts li{grid-template-columns:1fr;gap:.3rem}
}
@media print{nav,.skip,.btn{display:none}.page[hidden]{display:block}body{font-size:12pt}}

/* hero with illustration of Jon */
.welcome{display:grid;grid-template-columns:1.25fr 1fr;gap:2.5rem;align-items:center;margin-bottom:2.5rem}
.welcome>*{min-width:0}
.welcome .badge{width:100%;max-width:440px;justify-self:end}
.hello{font-family:Lora,Georgia,serif;font-style:italic;font-size:1.3rem;color:var(--brick);border-left:5px solid var(--brick);padding-left:1rem}
.tile .ico img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.tile:hover .ico img,.tile:focus-visible .ico img{transform:scale(1.05)}
@media (prefers-reduced-motion:reduce){.tile .ico img{transition:none}.tile:hover .ico img{transform:none}}
.scene{margin:0 0 2.5rem}
.scene img{width:100%;border-radius:8px;max-height:520px;object-fit:cover;object-position:center 30%}
.photo-fig{margin:0}
.photo-fig figcaption{font-size:1rem;color:var(--ink-soft);margin-top:.5rem}
@media (max-width:820px){.welcome{grid-template-columns:1fr;gap:1rem}.welcome .badge{justify-self:center;max-width:320px;order:-1}}

/* painted tiles sit on stone */
.tile .ico{background:var(--stone)}
/* action tile for booking */
.tile.action{background:var(--brick);border-color:var(--brick);color:#fff;padding:1rem;gap:.55rem;justify-content:flex-start}
.tile.action .t{color:#fff;padding:0;font-size:1.4rem}
.tile.action .d{color:#fff;opacity:.92;padding:0 0 .2rem}
.act{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.55rem .75rem;border:2px solid rgba(255,255,255,.8);border-radius:6px;color:#fff;text-decoration:none;font-weight:700;font-size:1.02rem;line-height:1.2}
.act:hover,.act:focus-visible{background:#fff;color:var(--brick)}
.act svg,.way svg{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tile.action,:root:not([data-theme="light"]) .tile.action .t,:root:not([data-theme="light"]) .tile.action .d,:root:not([data-theme="light"]) .act{color:#1c1a18}:root:not([data-theme="light"]) .act{border-color:rgba(28,26,24,.7)}:root:not([data-theme="light"]) .act:hover{background:#1c1a18;color:var(--brick)}}
/* booking page */
.ways{list-style:none;margin:2rem 0 2.5rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.way{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.2rem;border:2px solid var(--rule);border-radius:8px;text-decoration:none;color:var(--ink)}
a.way:hover,a.way:focus-visible{border-color:var(--brick)}
.way svg{width:36px;height:36px;color:var(--brick);margin-bottom:.3rem}
.way strong{font-family:Lora,Georgia,serif;font-size:1.3rem;color:var(--brick)}
.way span{font-size:1.05rem;color:var(--ink-soft);overflow-wrap:anywhere}
.booking{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:start}
.booking>*{min-width:0}
.enquiry{background:var(--stone);border-radius:8px;padding:1.8rem 2rem}
.enquiry h2{margin-top:0}
.enquiry fieldset{border:0;padding:0;margin:0 0 1.2rem}
.enquiry legend{font-weight:700;margin-bottom:.4rem}
.choice{display:flex;align-items:center;gap:.7rem;min-height:44px;font-weight:400;margin:0}
.enquiry label.choice{display:flex;font-weight:400;margin:0}
.choice input{width:24px;height:24px;accent-color:var(--brick);margin:0}
.enquiry label{display:block;font-weight:700;margin:1rem 0 .35rem}
.enquiry input:not([type=radio]),.enquiry select,.enquiry textarea{width:100%;font:inherit;font-size:1.1rem;padding:.7rem .8rem;border:2px solid #8f877b;border-radius:6px;background:var(--paper);color:var(--ink);min-height:48px}
.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--brick)}
.enquiry .two{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
.req,.opt{font-weight:400;color:var(--ink-soft);font-size:.95rem}
.privacy{font-size:1rem;color:var(--ink-soft);margin:1.2rem 0 .8rem}
.err{color:#a3261c;font-weight:700;margin-top:.8rem}
.hp{position:absolute;left:-9999px}
.thanks{background:var(--stone);border-radius:8px;padding:1.8rem 2rem;outline:none}
.aside h2{font-size:1.4rem}
@media (max-width:1000px){.ways{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.booking{grid-template-columns:1fr;gap:2rem}.enquiry{padding:1.3rem}.enquiry .two{grid-template-columns:1fr}.ways{grid-template-columns:1fr}
  .tiles .tile.action{grid-column:1/-1}}

/* live-site additions */
.page{padding:2.5rem 0 3.5rem}
h2.h3{font-size:1.45rem;margin:.2rem 0 .5rem}
.item h2 a{color:var(--ink);text-decoration:none}.item h2 a:hover{color:var(--brick);text-decoration:underline}
.ways.three{grid-template-columns:repeat(3,1fr)}
.follow{margin-top:2rem;font-size:1.15rem}
.reviews{margin-top:3rem}.reviews h2{font-size:1.6rem}.reviews blockquote{margin:1.2rem 0 0}
.walk-review{margin:2.5rem 0 0}
.prose{max-width:68ch}.prose h2{font-size:1.5rem;margin-top:2rem}
footer a{color:var(--ink-soft)}
@media (max-width:1000px){.ways.three{grid-template-columns:1fr}}
