/* Island Pace: limestone, tarmac, Menai blue, gorse, sea thrift */
:root{
  --limestone:#EEF0EC; /* page background */
  --tarmac:#23272B;    /* text */
  --menai:#1D4E6B;     /* bands, links */
  --gorse:#E8B623;     /* accent on blue, kerb lines */
  --thrift:#B23E68;    /* small accents */
  --slate:#4F5A62;     /* muted text */
  --rule:#C8CEC6;
  --head:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Atkinson Hyperlegible",system-ui,sans-serif;
  --wrap:70rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--limestone);color:var(--tarmac);font:400 1.0625rem/1.7 var(--body)}
img{max-width:100%;display:block}
a{color:var(--menai);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--thrift);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--gorse);color:var(--tarmac);padding:.6rem 1rem;font-weight:700;z-index:20}
.skip:focus{left:1rem;top:1rem}

/* header sits on the same blue as the band below it */
.top{background:var(--menai);color:#fff}
.top-in{max-width:var(--wrap);margin:0 auto;padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.55rem;color:#fff;text-decoration:none;font:700 1.6rem/1 var(--head);letter-spacing:.01em}
.brand svg{width:2.4rem;height:auto}
.top ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}
.top nav a{color:#fff;text-decoration:none;font:600 1.15rem/1.4 var(--head);letter-spacing:.02em;padding:.15rem 0;border-bottom:3px solid transparent}
.top nav a:hover{border-bottom-color:rgba(232,182,35,.6)}
.top nav a[aria-current="page"]{border-bottom-color:var(--gorse)}
.top :focus-visible,.hero :focus-visible,.page-head :focus-visible{outline-color:var(--gorse)}

/* home */
.hero{background:var(--menai);color:#fff}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:2.5rem 1.25rem 2.25rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 3rem;align-items:end}
.hero h1{font:700 clamp(2.8rem,6.4vw,5.4rem)/.92 var(--head);margin:0;letter-spacing:-.005em}
.lede{font-size:1.1rem;max-width:34rem}
.lede p{margin:0 0 .9rem}
.lede p:last-child{margin:0}
.panorama{margin:0;border-top:6px solid var(--gorse)}
.panorama img{width:100%;height:clamp(15rem,43vw,38rem);object-fit:cover;object-position:40% 50%}

.guides{max-width:var(--wrap);margin:0 auto;padding:3.5rem 1.25rem 4rem}
.guides h2{font:700 2.2rem/1.1 var(--head);margin:0 0 1.5rem}
.guide-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3rem}
.guide-list li{border-top:6px solid var(--tarmac);padding-top:1rem;position:relative}
.guide-list li::before{content:"";position:absolute;top:-6px;left:0;width:4.5rem;height:6px;background:var(--gorse)}
.guide-list a{display:block;text-decoration:none;color:var(--tarmac)}
.guide-list .t{display:block;font:700 2rem/1.05 var(--head);color:var(--menai);margin-bottom:.5rem}
.guide-list a:hover .t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
.guide-list .d{display:block;color:var(--slate);max-width:32rem}
.topic{display:inline-block;margin-top:.7rem;font:600 1rem/1 var(--head);color:var(--thrift);letter-spacing:.02em}

/* article */
.page-head{background:var(--menai);color:#fff;border-bottom:6px solid var(--gorse)}
.page-head-in{max-width:var(--wrap);margin:0 auto;padding:2.25rem 1.25rem 2.5rem}
.page-head h1{font:700 clamp(2.4rem,5.6vw,4.3rem)/.98 var(--head);margin:0 0 1rem;max-width:52rem}
.standfirst{font-size:1.2rem;line-height:1.55;margin:0 0 1rem;max-width:42rem}
.meta{margin:0;font-size:.95rem;color:#D3E1EA}
.prose,.more{max-width:var(--wrap);margin:0 auto;padding:2.5rem 1.25rem 0}
.prose>*{max-width:40rem}
.prose h2{font:700 2rem/1.1 var(--head);margin:2.6rem 0 .7rem;color:var(--tarmac)}
.prose h3{font:700 1.45rem/1.15 var(--head);margin:2rem 0 .5rem}
.prose p,.prose ul,.prose ol{margin:0 0 1.15rem}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li{margin:.35rem 0}
.prose ul li::marker{color:var(--thrift)}
.prose ol li::marker{font-weight:700;color:var(--menai)}
.prose strong{font-weight:700}
.prose table{width:100%;max-width:46rem;border-collapse:collapse;margin:1.4rem 0 2rem;font-size:.97rem;line-height:1.5}
.prose th,.prose td{text-align:left;vertical-align:top;padding:.65rem .9rem .65rem 0;border-bottom:1px solid var(--rule)}
.prose th{font:700 1.1rem/1.2 var(--head);border-bottom:3px solid var(--tarmac)}
.prose blockquote{margin:1.5rem 0;padding:.9rem 1.1rem;background:#fff;border-left:6px solid var(--gorse)}
.prose blockquote p:last-child{margin:0}
.more{padding-bottom:4rem}
.more>*{max-width:40rem}
.more h2{font:700 1.6rem/1.1 var(--head);margin:1.5rem 0 .6rem;padding-top:1.5rem;border-top:6px solid var(--tarmac)}
.more ul{margin:0;padding-left:1.2rem}
.more li{margin:.35rem 0}
.page:not(.essay) .prose{padding-bottom:4rem}

.foot{background:var(--tarmac);color:#E6E9E4}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:2rem 1.25rem 2.4rem;font-size:.95rem}
.foot p{margin:0 0 .6rem;max-width:42rem}
.foot a{color:var(--gorse)}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.foot :focus-visible{outline-color:var(--gorse)}

@media (max-width:50rem){
  .hero-in{grid-template-columns:1fr;gap:1.25rem;padding-top:1.75rem}
  .guide-list{grid-template-columns:1fr}
}
@media (max-width:30rem){
  body{font-size:1rem}
  .top-in,.hero-in,.guides,.page-head-in,.prose,.more,.foot-in{padding-left:1rem;padding-right:1rem}
  .top nav a{font-size:1.08rem}
  .top ul{gap:.1rem 1rem}
  .prose table{display:block;overflow-x:auto}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
