/* StrandEast editorial review extension — retains original teal / dark / Poppins identity. */
:root{--teal:#22b3c1;--dark:#132832;--ink:#243845;--light:#f5f8f9;--line:#d9e6e9;--muted:#586e78}
html{scroll-behavior:smooth;scroll-padding-top:105px}body{background:#fff;color:var(--ink)}body p{color:#51636d;line-height:1.85}h1,h2,h3,h4{color:var(--ink);font-weight:700}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #db9b06;outline-offset:4px}a:hover{color:#177d85}
.skip-link{position:absolute;top:-120px;left:15px;z-index:1000;background:#fff;color:var(--ink);padding:10px 16px}.skip-link:focus{top:10px}
.site-header{position:relative!important;min-height:70px!important;height:auto!important;background:var(--teal);box-shadow:0 3px 18px #081f2530}.site-header .main-nav{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:0}.site-header .main-nav .nav{display:flex!important;flex-basis:auto;margin:0;float:none;gap:4px;align-items:center}.site-header .brand-link{color:#fff!important;font-size:25px;letter-spacing:1.2px;font-weight:750;white-space:nowrap}.brand-link span{font-weight:300}.site-header .main-nav .nav li{padding:0}.site-header .main-nav .nav a{font-size:14px;white-space:nowrap}.site-header .main-nav .nav a.active::after{top:6px}.mobile-nav-button{display:none;cursor:pointer;border:1px solid #ffffff90;color:#fff;background:transparent;border-radius:7px;font-size:23px;padding:3px 13px}
.eyebrow{font-size:12px!important;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal)!important;margin-bottom:14px!important}.breadcrumbs{margin-bottom:28px}.breadcrumbs ol{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.breadcrumbs li{font-size:13px;color:#d6e3e8}.breadcrumbs li+li:before{content:'›';margin-right:10px;color:#8ca7ad}.breadcrumbs a{color:#c7f6f8;text-decoration:underline!important;text-underline-offset:4px}
.review-hero{background:linear-gradient(107deg,#0f2530ee,#123c48d9),url('../images/bg3.avif') center/cover;min-height:290px;padding:42px 0 54px;color:#fff}.review-hero .eyebrow{color:#8de3ea!important}.review-hero h1{color:#fff;font-size:clamp(33px,4vw,54px);line-height:1.13;max-width:900px}.review-hero .hero-intro{color:#e0edf1;font-size:17px;max-width:750px;line-height:1.65;margin-top:18px}.hero-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px;font-size:12px;color:#d9e8eb}.review-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(240px,1fr);gap:45px;padding-top:48px;padding-bottom:60px}.review-article{min-width:0}.review-cover{margin:0 0 26px}.review-cover img{display:block;width:100%;height:min(405px,39vw);min-height:220px;object-fit:cover;border-radius:18px;background:#183843}.review-cover figcaption{margin-top:8px;color:#71848b;font-size:12px;line-height:1.6}
.status-banner{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-radius:14px;margin:28px 0;border-left:5px solid #1899a9;background:#eaf8fa}.status-banner p{margin-top:5px;line-height:1.65;font-size:13px}.status-banner.status-caution{border-color:#a97819;background:#fff6e5}.status-banner strong{color:#173643}.status-mark{font-size:18px;color:#167985;font-weight:800}
.quick-facts{border:1px solid var(--line);border-radius:15px;padding:25px;margin:26px 0 40px}.quick-facts h2{font-size:23px;margin-bottom:18px}.quick-facts dl>div{display:grid;grid-template-columns:145px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid #e6eef0}.quick-facts dl>div:last-child{border:0}.quick-facts dt{font-size:13px;color:#657e87;font-weight:600}.quick-facts dd{font-size:14px;color:#253f48;font-weight:600;margin:0}
.review-section{padding-top:26px;margin-bottom:21px;scroll-margin-top:115px}.review-section h2{font-size:clamp(23px,2.3vw,29px);margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid #e8f0f2}.review-section p{margin-bottom:17px;font-size:15px;line-height:1.95}.review-section h3{font-size:18px;margin-bottom:14px}.pros-cons-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pros-cons-grid>div{padding:19px;border:1px solid var(--line);border-radius:13px;background:#f9fcfc}.pros-cons-grid ul li{color:#435b66;padding:0 0 12px 24px;font-size:14px;line-height:1.6;position:relative}.pros-list li:before,.cons-list li:before{content:'✓';color:#168b98;font-weight:bold;position:absolute;left:0}.cons-list li:before{content:'–';color:#aa7b26}
.faq-list details{border:1px solid var(--line);border-radius:10px;padding:15px 18px;margin-bottom:10px;background:#fff}.faq-list summary{cursor:pointer;color:#243e49;font-weight:600;line-height:1.5}.faq-list details[open]{background:#f7fcfc}.faq-list details p{padding-top:12px;margin:0}.sources-section .sourced-list{padding-left:20px}.sources-section .sourced-list li{list-style:disc;line-height:2;color:var(--teal)}.source-date,.secondary-note{font-size:13px!important;color:#697b82!important}.responsible-note{padding:22px;border-radius:13px;background:#eaf7f8;border:1px solid #cbe9ec}.responsible-note h2{font-size:19px;margin-bottom:12px}.responsible-note p{font-size:13px;line-height:1.8}
.sidebar-sticky{position:sticky;top:18px}.toc-card,.related-card{border:1px solid var(--line);border-radius:16px;padding:23px;margin-bottom:22px;background:#fff;box-shadow:0 9px 30px #163b4510}.toc-card h2,.related-card h2{font-size:18px;margin-bottom:16px}.toc-card ol li{border-bottom:1px solid #edf1f2;padding:9px 0}.toc-card ol li:last-child{border:0}.toc-card ol a{color:#435e69;font-size:13px}.related-card li a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid #edf1f2;color:#254c56;font-weight:600;font-size:13px}.related-card li small{font-size:11px;color:#83939a;font-weight:400;max-width:95px}.related-card li .related-title{flex:1}.browse-link{display:inline-block;margin-top:18px;font-size:13px;font-weight:700}
.review-bottom-cta{padding:65px 0;background:linear-gradient(105deg,#123842,#1d6f7b);color:#fff}.review-bottom-cta h2{color:#fff;font-size:31px}.review-bottom-cta p{color:#cfe9eb;margin:12px 0 22px}.pill-link{display:inline-block;background:var(--teal);border:1px solid var(--teal);padding:10px 24px;border-radius:99px;color:#fff!important;font-size:13px;font-weight:600}.pill-link:hover{background:#168c98}.pill-link.small{padding:9px 17px;margin-top:12px}
.site-footer{padding:27px 0;background:var(--teal)}.site-footer p{font-size:12px;line-height:1.75;color:#fff;margin-bottom:8px}.footer-links{display:flex;gap:15px 25px;flex-wrap:wrap;justify-content:center;margin-bottom:15px}.footer-links a{color:#fff!important;text-decoration:underline!important;font-size:13px;text-underline-offset:4px}.footer-links a:hover{opacity:.8}
.home-page #section-1{min-height:620px;height:75vh}.home-page #section-1 .main-caption{max-width:850px;left:50%;transform:translate(-50%,-50%);padding:35px 50px;background:#1c303bc9;border-radius:20px;top:55%}.home-page #section-1 .banner .banner-inner-wrapper h1{font-size:clamp(32px,4.8vw,56px);line-height:1.2;margin:12px 0}.home-page .hero-kicker{font-size:18px;color:#8ee4e9!important}.home-page .home-hero-sub{color:#fff;line-height:1.7;margin-bottom:24px}.home-page .border-button a{background:#22b3c1;color:#fff}.home-page #section-1 .banner{filter:none}.home-intro{padding-top:65px}.home-intro h2{font-size:clamp(25px,3.5vw,36px);margin-bottom:14px}.home-intro>p{max-width:850px;margin-bottom:16px}.disclaimer-strip{padding:16px 21px;background:#ecf8fa;border-left:4px solid #22b3c1;border-radius:5px;color:#385a66!important;margin-top:25px}
.home-page .directory-section{margin-top:35px;padding-top:45px;padding-bottom:40px;background:#fff}.directory-section .section-heading{margin-bottom:35px}.directory-section .section-heading h2{font-size:31px;color:#243d47!important;margin:0 0 14px}.directory-section .section-heading p:not(.eyebrow){color:#596f78}.directory-item .right-content h3{font-size:22px;margin-bottom:4px}.directory-item .right-content h3 a{color:#213d47}.directory-item .right-content h3 a:hover{color:var(--teal)}.directory-item img{border-radius:18px;display:block;height:190px;object-fit:cover;background:#e7eeee}.directory-item .right-content p{margin:10px 0;line-height:1.75}.directory-item .right-content .directory-status{font-size:12px;font-weight:700;color:#9b722d;margin:6px 0}.directory-item .right-content ul.info{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0}.directory-item .right-content ul.info li{width:auto;text-align:left!important;font-size:12px;color:#56757e;padding:4px 9px;background:#edf8f9;border-radius:20px}.directory-item .right-content .read-review a{font-size:14px;font-weight:700}.home-online-sidebar{position:sticky;top:20px;padding:21px;border:1px solid var(--line);border-radius:15px;background:#f8fbfb}.home-online-sidebar>h2{font-size:23px;color:#243e48!important}.home-online-sidebar>p{font-size:13px;line-height:1.7}.online-tile{margin-top:19px;background:#fff;border:1px solid #dfebee;border-radius:12px;overflow:hidden}.online-tile img{width:100%;height:auto;max-height:147px;object-fit:cover;display:block}.online-tile-content{padding:16px}.online-tile h3{font-size:19px;color:#1a424a}.online-tile p{font-size:13px;line-height:1.65;margin:11px 0}.licence-alert{display:block;font-size:11px;font-weight:700;color:#966c1c;background:#fff3d9;padding:7px 9px;border-radius:6px}.aside-note{margin-top:17px}.call-to-action{margin-top:0}.call-to-action h2{font-size:clamp(24px,3vw,36px);color:#fff!important}.call-to-action p{color:#f4f8f8}
.policy-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:50px;padding-top:50px;padding-bottom:75px}.article-list{margin-left:25px}.article-list li{list-style:decimal;margin:6px 0;line-height:1.8;color:#47616c}.policy-main .related-card{margin-top:15px}
@media(max-width:991px){.site-header .main-nav{display:flex;overflow:visible;padding:0 15px;flex-wrap:wrap}.site-header .mobile-nav-button{display:block;margin-left:auto}.site-header .main-nav .nav{display:none!important;order:3;flex-basis:100%;flex-direction:column;align-items:stretch!important;position:relative;background:var(--teal);margin:0 0 12px!important;padding:8px 0}.site-header .main-nav .nav.is-open{display:flex!important}.site-header .main-nav .nav li{width:100%;background:transparent;border:0}.site-header .main-nav .nav li a{color:#fff!important;background:transparent!important;height:auto!important;line-height:1.5!important;padding:9px 12px!important;text-align:left}.site-header .main-nav .nav li a:hover{color:#e5fdff!important}.review-grid{grid-template-columns:minmax(0,1fr);gap:16px}.review-sidebar{grid-row:1}.sidebar-sticky{position:static}.toc-card{margin-bottom:0}.toc-card ol{display:flex;flex-wrap:wrap;gap:7px 20px}.toc-card ol li{border:0}.related-card{display:none}.policy-main{grid-template-columns:1fr}.home-page #section-1{height:570px;min-height:570px}.home-page #section-1 .main-caption{width:88%;padding:30px}.directory-item img{margin-bottom:15px;height:210px}}
@media(max-width:600px){.review-hero{padding:30px 0 38px}.review-hero .hero-intro{font-size:15px}.review-grid{padding-top:20px}.review-cover img{height:245px;min-height:0}.quick-facts{padding:19px}.quick-facts dl>div{grid-template-columns:1fr;gap:2px}.pros-cons-grid{grid-template-columns:1fr}.toc-card{padding:17px}.home-page #section-1 .main-caption{width:92%;padding:23px}.home-page .hero-kicker{font-size:14px}.home-page .home-hero-sub{font-size:13px}.directory-item img{height:200px}.review-bottom-cta{padding:45px 0}.review-bottom-cta h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Remove old global section margin on the new semantic article sections. */
.home-page .home-intro,.review-page .review-section{margin-top:0;}
/* Higher-specificity hero alignment fix for the template slider. */
.home-page #section-1 .content-slider .slider .banner .banner-inner-wrapper .main-caption {left:50%;top:55%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:850px;}
@media(max-width:991px){.review-article{grid-row:1}.review-sidebar{grid-row:2}.home-page #section-1 .content-slider .slider .banner .banner-inner-wrapper .main-caption{width:calc(100% - 32px)}}
@media(max-width:600px){.home-page #section-1 .content-slider .slider .banner .banner-inner-wrapper .main-caption{width:calc(100% - 28px)}}


/* ======================================================================
   StrandEast — accessible colour and typography refinement
   Version 2.0 — 13 October 2026

   Light surfaces: dark teal links and charcoal content.
   Dark surfaces: white/ivory copy and warm-gold highlights, never
   saturated cyan text. Buttons and navigation retain visible focus states.
   ====================================================================== */

:root {
  --teal: #0e5260;
  --dark: #11333f;
  --ink: #233743;
  --light: #f7fafb;
  --line: #d8e3e6;
  --muted: #536974;
  --se-text: #253843;
  --se-link: #0b5d6a;
  --se-link-hover: #073f4b;
  --se-surface: #ffffff;
  --se-surface-subtle: #f5f9fa;
  --se-surface-dark: #123945;
  --se-light-text: #f4f7f7;
  --se-warm-accent: #f4d69a;
  --se-focus: #f0b94f;
}

/* Readable body copy and links on light backgrounds. */
body.home-page,
body.review-page {
  background: var(--se-surface);
  color: var(--se-text);
}

body p {
  color: #425965;
}

body h1,
body h2,
body h3,
body h4 {
  color: var(--ink);
}

a {
  color: var(--se-link);
}

a:hover {
  color: var(--se-link-hover);
}

.home-intro a,
.review-article a:not(.pill-link),
.policy-main a,
.disclaimer-strip a,
.responsible-note a {
  color: var(--se-link);
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px !important;
}

.home-intro a:hover,
.review-article a:not(.pill-link):hover,
.policy-main a:hover,
.disclaimer-strip a:hover,
.responsible-note a:hover {
  color: var(--se-link-hover);
  text-decoration-thickness: 2px !important;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--se-focus);
  outline-offset: 4px;
}

/* Dark navigation: legible white text on both desktop and mobile. */
.site-header,
.site-footer {
  background: var(--teal);
}

.site-header .brand-link,
.site-header .main-nav .nav a,
.site-header .main-nav .nav a:visited,
.site-footer .footer-links a,
.site-footer .footer-links a:visited {
  color: #ffffff !important;
}

.site-header .main-nav .nav a:hover,
.site-header .main-nav .nav a:focus-visible,
.site-header .main-nav .nav a.active {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-decoration-color: var(--se-warm-accent) !important;
  text-underline-offset: 5px;
}

.site-header .main-nav .nav a.active::after {
  background-color: var(--se-warm-accent);
}

.site-header .mobile-nav-button {
  border-color: #e7f3f4;
  color: #ffffff;
}

.site-footer p,
.site-footer p a,
.site-footer .footer-links a {
  color: #ffffff !important;
}

.site-footer .footer-links a:hover {
  opacity: 1;
  text-decoration-color: var(--se-warm-accent) !important;
}

/* Review hero: remove light-blue small print from the dark photo. */
.review-hero {
  background:
    linear-gradient(105deg, rgba(10, 29, 40, .97), rgba(17, 52, 63, .94)),
    url('../images/bg3.avif') center / cover;
  color: #ffffff;
}

.review-hero h1 {
  color: #ffffff;
}

.review-hero .eyebrow {
  color: var(--se-warm-accent) !important;
}

.review-hero .hero-intro,
.review-hero .hero-meta {
  color: var(--se-light-text);
}

.review-hero .breadcrumbs li,
.review-hero .breadcrumbs li[aria-current="page"],
.review-hero .breadcrumbs li + li::before {
  color: #eaf0f2;
}

.review-hero .breadcrumbs a,
.review-hero .breadcrumbs a:visited {
  color: #ffffff;
  text-decoration: underline !important;
  text-decoration-color: #d9e7e9 !important;
  text-underline-offset: 4px;
}

.review-hero .breadcrumbs a:hover {
  color: var(--se-warm-accent);
}

/* Homepage photo caption: stronger scrim and non-blue label. */
.home-page #section-1 .main-caption {
  background: rgba(14, 37, 47, .92);
  box-shadow: 0 18px 45px rgba(8, 22, 31, .22);
}

.home-page #section-1 .banner .banner-inner-wrapper h1,
.home-page .home-hero-sub {
  color: #ffffff;
}

.home-page .hero-kicker {
  color: var(--se-warm-accent) !important;
  font-weight: 600;
}

/* Strong contrast for filled CTAs, with a separate light variant on dark. */
.main-button a,
.pill-link,
.home-page .border-button a,
.directory-item .main-button a {
  background: var(--se-link);
  border-color: var(--se-link);
  color: #ffffff !important;
}

.main-button a:hover,
.pill-link:hover,
.home-page .border-button a:hover,
.directory-item .main-button a:hover {
  background: var(--se-link-hover);
  border-color: var(--se-link-hover);
  color: #ffffff !important;
}

.home-page #section-1 .border-button a,
.review-bottom-cta .pill-link {
  background: #ffffff;
  border-color: #ffffff;
  color: #163541 !important;
  font-weight: 700;
}

.home-page #section-1 .border-button a:hover,
.review-bottom-cta .pill-link:hover {
  background: var(--se-warm-accent);
  border-color: var(--se-warm-accent);
  color: #17343e !important;
}

/* Guide cards and badges: dark accents reserved for white surfaces. */
.eyebrow,
.home-page .home-intro .eyebrow,
.directory-section .eyebrow {
  color: var(--se-link) !important;
}

.directory-item .right-content h3 a,
.directory-item .right-content .read-review a,
.online-tile a,
.related-card li a,
.browse-link,
.toc-card ol a {
  color: var(--se-link);
}

.directory-item .right-content h3 a:hover,
.directory-item .right-content .read-review a:hover,
.online-tile a:hover,
.related-card li a:hover,
.browse-link:hover,
.toc-card ol a:hover {
  color: var(--se-link-hover);
}

.directory-item .right-content .directory-status,
.licence-alert {
  color: #765016;
}

.quick-facts dt,
.review-cover figcaption,
.source-date,
.secondary-note {
  color: #536873 !important;
}

.status-mark,
.pros-list li::before {
  color: #0b6371;
}

/* Full-width banners: light text and light CTAs on deep photographic overlays. */
.review-bottom-cta {
  background: linear-gradient(110deg, #10333f 0%, #165260 100%);
  color: #ffffff;
}

.review-bottom-cta h2,
.call-to-action h2 {
  color: #ffffff !important;
}

.review-bottom-cta p,
.call-to-action p {
  color: var(--se-light-text);
}

.call-to-action {
  background:
    linear-gradient(100deg, rgba(12, 36, 46, .94), rgba(15, 69, 80, .91)),
    url('../images/cta-bg.jpg') center / cover;
}

.call-to-action .border-button a,
.call-to-action .border-button a:visited {
  background: #ffffff;
  border-color: #ffffff;
  color: #163541 !important;
  font-weight: 700;
}

.call-to-action .border-button a:hover {
  background: var(--se-warm-accent);
  border-color: var(--se-warm-accent);
  color: #163541 !important;
}

/* The old template applies a dark-mode body background without updating
   its white cards. Keep a consistent, readable light content canvas. */
@media (prefers-color-scheme: dark) {
  body.home-page,
  body.review-page {
    background: var(--se-surface) !important;
    color: var(--se-text) !important;
    color-scheme: light;
  }
}

@media (max-width: 991px) {
  .site-header .main-nav .nav {
    background: var(--teal);
  }

  .site-header .main-nav .nav li a,
  .site-header .main-nav .nav li a:visited,
  .site-header .main-nav .nav li a:hover {
    color: #ffffff !important;
  }

  .site-header .main-nav .nav li a:hover,
  .site-header .main-nav .nav li a:focus-visible {
    text-decoration: underline !important;
    text-decoration-color: var(--se-warm-accent) !important;
  }
}
