/* PATCH 7.12.1 — Cynefin Quest Instagram brand palette, sage-led swap
   Edit THEME_NAME in assets/js/site-config.js to switch themes.
   Brand palette:
   #b1c7c7 primary light blue
   #686e5d primary sage green (swapped into the lead role)
   #303a3f secondary dark/slate blue
   #7c816a text colour green
   #f4f3ef cream background
*/
html[data-theme="cynefin-brand"],body[data-theme="cynefin-brand"]{--bg:#f4f3ef;--bg-alt:#e7eeee;--ink:#303a3f;--muted:#7c816a;--green:#686e5d;--green-2:#303a3f;--gold:#b1c7c7;--stone:#b1c7c7;--white:#f4f3ef;--header-bg:#f4f3ef;--nav-panel-bg:#f4f3ef;--nav-link:#303a3f;--nav-hover:#686e5d;--nav-toggle-bg:#e7eeee;--footer-bg:#686e5d;--footer-heading:#f4f3ef;--footer-link:#f4f3ef;--footer-muted:rgba(244,243,239,.82)}
html[data-theme="cynefin-bright"],body[data-theme="cynefin-bright"]{--bg:#f4f3ef;--bg-alt:#dce8e8;--ink:#303a3f;--muted:#7c816a;--green:#686e5d;--green-2:#303a3f;--gold:#b1c7c7;--stone:#b1c7c7;--white:#f4f3ef;--header-bg:#f4f3ef;--nav-panel-bg:#f4f3ef;--nav-link:#303a3f;--nav-hover:#686e5d;--nav-toggle-bg:#dce8e8;--footer-bg:#686e5d;--footer-heading:#f4f3ef;--footer-link:#f4f3ef;--footer-muted:rgba(244,243,239,.82)}
html[data-theme="cynefin-slate"],body[data-theme="cynefin-slate"]{--bg:#303a3f;--bg-alt:#f4f3ef;--ink:#f4f3ef;--muted:#d7dfd9;--green:#b1c7c7;--green-2:#f4f3ef;--gold:#b1c7c7;--stone:#686e5d;--white:#f4f3ef;--header-bg:#303a3f;--nav-panel-bg:#303a3f;--nav-link:#f4f3ef;--nav-hover:#b1c7c7;--nav-toggle-bg:#3f4a50;--footer-bg:#303a3f;--footer-heading:#b1c7c7;--footer-link:#f4f3ef;--footer-muted:rgba(244,243,239,.72)}

html[data-theme="earth-muted"],body[data-theme="earth-muted"]{--bg:#f7f3ea;--bg-alt:#fffaf0;--ink:#1d2a24;--muted:#5f6d64;--green:#173f32;--green-2:#285b48;--gold:#c18434;--stone:#d9d0c0;--white:#fff;--header-bg:#f7f3ea;--nav-panel-bg:#fffaf0;--nav-link:#173f32;--nav-hover:#c18434;--nav-toggle-bg:#fffaf0;--footer-bg:#112920;--footer-heading:#fffaf0;--footer-link:#fffaf0;--footer-muted:rgba(255,255,255,.72)}
html[data-theme="vivid-adventure"],body[data-theme="vivid-adventure"]{--bg:#fff3df;--bg-alt:#ffffff;--ink:#14231d;--muted:#44534b;--green:#07523b;--green-2:#0c7a56;--gold:#ff7a1a;--stone:#e2bd86;--white:#fff;--header-bg:#fff7ea;--nav-panel-bg:#fff7ea;--nav-link:#07523b;--nav-hover:#ff7a1a;--nav-toggle-bg:#fff0d9;--footer-bg:#073527;--footer-heading:#ffffff;--footer-link:#ffffff;--footer-muted:rgba(255,255,255,.78)}
html[data-theme="coastal-bright"],body[data-theme="coastal-bright"]{--bg:#eaf8f8;--bg-alt:#ffffff;--ink:#103034;--muted:#4d696d;--green:#0b5963;--green-2:#07859a;--gold:#f6a12a;--stone:#a8d9dc;--white:#fff;--header-bg:#effcfc;--nav-panel-bg:#f7ffff;--nav-link:#0b5963;--nav-hover:#f08c00;--nav-toggle-bg:#ffffff;--footer-bg:#0a3d46;--footer-heading:#ffffff;--footer-link:#ffffff;--footer-muted:rgba(255,255,255,.78)}
html[data-theme="forest-deep"],body[data-theme="forest-deep"]{--bg:#edf2e8;--bg-alt:#fbfff5;--ink:#142218;--muted:#4d604d;--green:#0e351d;--green-2:#1e6a34;--gold:#d88622;--stone:#bfcbb5;--white:#fff;--header-bg:#f3f7ee;--nav-panel-bg:#fbfff5;--nav-link:#0e351d;--nav-hover:#d88622;--nav-toggle-bg:#fbfff5;--footer-bg:#082716;--footer-heading:#ffffff;--footer-link:#ffffff;--footer-muted:rgba(255,255,255,.78)}
html[data-theme="slate-gold"],body[data-theme="slate-gold"]{--bg:#f1eee6;--bg-alt:#ffffff;--ink:#1e2624;--muted:#59625f;--green:#263c38;--green-2:#496861;--gold:#d79a32;--stone:#d5cbb9;--white:#fff;--header-bg:#f7f4ec;--nav-panel-bg:#ffffff;--nav-link:#263c38;--nav-hover:#d79a32;--nav-toggle-bg:#ffffff;--footer-bg:#202b29;--footer-heading:#ffffff;--footer-link:#ffffff;--footer-muted:rgba(255,255,255,.78)}

html[data-theme="sunset-ridge"],body[data-theme="sunset-ridge"]{--bg:#fff1dc;--bg-alt:#fffaf2;--ink:#2b1f18;--muted:#6a5544;--green:#5d2f23;--green-2:#9c4a2a;--gold:#ff9f2e;--stone:#e8c49a;--white:#fff;--header-bg:#fff5e8;--nav-panel-bg:#fffaf2;--nav-link:#5d2f23;--nav-hover:#d85c22;--nav-toggle-bg:#fff1dc;--footer-bg:#3b2119;--footer-heading:#fff5e8;--footer-link:#fff5e8;--footer-muted:rgba(255,245,232,.78)}
html[data-theme="heather-moor"],body[data-theme="heather-moor"]{--bg:#f2edf7;--bg-alt:#fffaff;--ink:#241c2e;--muted:#645a70;--green:#4b315f;--green-2:#6b4d83;--gold:#d69a38;--stone:#d5c3dd;--white:#fff;--header-bg:#faf4ff;--nav-panel-bg:#fffaff;--nav-link:#4b315f;--nav-hover:#c77c2a;--nav-toggle-bg:#fffaff;--footer-bg:#2b1d36;--footer-heading:#fff7ff;--footer-link:#fff7ff;--footer-muted:rgba(255,247,255,.78)}
html[data-theme="sea-glass"],body[data-theme="sea-glass"]{--bg:#eefaf3;--bg-alt:#ffffff;--ink:#12302b;--muted:#4d6961;--green:#0d6b5a;--green-2:#15987e;--gold:#e9a642;--stone:#b9e0d6;--white:#fff;--header-bg:#f5fffb;--nav-panel-bg:#ffffff;--nav-link:#0d6b5a;--nav-hover:#d7831f;--nav-toggle-bg:#f5fffb;--footer-bg:#073f36;--footer-heading:#ffffff;--footer-link:#ffffff;--footer-muted:rgba(255,255,255,.78)}
html[data-theme="high-contrast"],body[data-theme="high-contrast"]{--bg:#fffdf6;--bg-alt:#ffffff;--ink:#111111;--muted:#3f3f3f;--green:#003f2f;--green-2:#00694d;--gold:#f2a900;--stone:#b8b8b8;--white:#fff;--header-bg:#ffffff;--nav-panel-bg:#ffffff;--nav-link:#003f2f;--nav-hover:#c05a00;--nav-toggle-bg:#ffffff;--footer-bg:#111111;--footer-heading:#ffffff;--footer-link:#ffffff;--footer-muted:rgba(255,255,255,.82)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.container{width:min(100% - 32px,var(--max));margin-inline:auto}.site-header{position:sticky;top:0;z-index:1000;background:color-mix(in srgb, var(--header-bg) 94%, white 6%);backdrop-filter:blur(8px);border-bottom:1px solid rgba(23,63,50,.1)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:850;color:var(--green);font-size:1.18rem}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:var(--gold);letter-spacing:.02em}.logo-text small{display:block;font-size:.66rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:-3px}.nav-links{display:flex;align-items:center;gap:15px;list-style:none;margin:0;padding:0}.nav-links a{text-decoration:none;font-weight:700;color:var(--nav-link);font-size:.94rem}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--nav-hover)}.nav-toggle{display:none;border:1px solid var(--stone);background:var(--nav-toggle-bg);padding:9px 12px;border-radius:12px;font-weight:700;color:var(--nav-link);position:relative;z-index:1100;touch-action:manipulation}.hero,.page-hero{padding:84px 0 58px;background:linear-gradient(rgba(23,63,50,.64),rgba(23,63,50,.5)),url('../images/hero-placeholder.svg') center/cover no-repeat;color:var(--white)}.page-hero{padding:76px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:34px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:850;color:var(--gold);margin:0 0 14px}.dark{color:var(--green)}h1,h2,h3{line-height:1.13;margin:0 0 16px}h1{font-size:clamp(2.35rem,6vw,4.8rem);max-width:950px}h2{font-size:clamp(1.75rem,4vw,2.85rem);color:var(--green)}h3{font-size:1.22rem;color:var(--green)}.lead{font-size:clamp(1.08rem,2vw,1.3rem);max-width:760px;margin:0 0 28px}.hero-card,.info-box,.form-panel,.notice{background:rgba(255,250,240,.96);color:var(--ink);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border:1px solid rgba(23,63,50,.1)}.trust-list{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:18px 0 0;list-style:none}.trust-list li,.pill{background:rgba(193,132,52,.14);color:var(--green);border:1px solid rgba(193,132,52,.28);border-radius:999px;padding:7px 11px;font-size:.9rem;font-weight:750}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:850;border:2px solid transparent;cursor:pointer}.btn-primary{background:var(--gold);color:var(--ink)}.btn-primary:hover{background:#d69b4d}.btn-secondary{background:transparent;color:var(--white);border-color:rgba(255,255,255,.78)}.btn-secondary:hover{background:rgba(255,255,255,.12)}.btn-dark{background:var(--green);color:var(--white)}section{padding:72px 0}.section-intro{max-width:760px;margin-bottom:30px}.section-intro p,.card p{color:var(--muted);font-size:1.04rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--bg-alt);border:1px solid rgba(23,63,50,.1);border-radius:var(--radius);padding:24px;box-shadow:0 8px 20px rgba(29,42,36,.06)}.card.featured{border-color:rgba(193,132,52,.5)}.card a{font-weight:850;color:var(--green);text-decoration-color:var(--gold)}.card-label{color:var(--gold)!important;text-transform:uppercase;letter-spacing:.1em;font-weight:850;font-size:.78rem}.band{background:var(--green);color:var(--white)}.band h2{color:var(--white)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:34px;align-items:start}.check-list{padding-left:0;list-style:none}.check-list li{margin:10px 0;padding-left:28px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}.cta-section{padding:54px 0}.cta-card{background:var(--green);color:var(--white);border-radius:26px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-card h2{color:var(--white)}.site-footer{background:var(--footer-bg);color:var(--footer-link);padding:50px 0}.site-footer h3{color:var(--footer-heading)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.small{font-size:.9rem;color:var(--footer-muted)}.enquiry-form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.enquiry-form label{display:grid;gap:6px;font-weight:750;color:var(--green)}input,textarea,select{font:inherit;border:1px solid var(--stone);border-radius:12px;padding:12px;background:#fff;color:var(--ink);width:100%}textarea{resize:vertical}.hidden-field{position:absolute;left:-9999px}.consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px;font-size:.95rem;color:var(--muted)!important}.consent input{width:auto;margin-top:6px}.faq{display:grid;gap:12px}.faq details{background:var(--bg-alt);border:1px solid rgba(23,63,50,.1);border-radius:14px;padding:18px}.faq summary{font-weight:850;color:var(--green);cursor:pointer}.timeline{background:var(--bg-alt)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.steps div{background:#fff;border-radius:var(--radius);padding:24px;border:1px solid rgba(23,63,50,.1)}.steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);font-weight:900;margin-bottom:14px}.guide-copy{max-width:830px}.guide-copy p{font-size:1.08rem;color:var(--muted)}.notice{margin-top:18px;padding:18px;background:#fff7df}.qr-card{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;background:#fff;border-radius:18px;padding:20px;border:1px solid var(--stone)}@media(max-width:900px){.nav-toggle{display:inline-flex}.nav-links{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;background:var(--nav-panel-bg);padding:20px 32px;border-bottom:1px solid var(--stone);z-index:1050;box-shadow:0 14px 30px rgba(0,0,0,.12)}.nav-links.open{display:flex}.hero-grid,.split{grid-template-columns:1fr}.cards,.cards-2,.cards-3,.steps,.footer-grid{grid-template-columns:1fr}.cta-card{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}h1{font-size:2.55rem}.page-hero,.hero{padding:58px 0 44px}}@media print{.site-header,.site-footer,.button-row{display:none}body{background:#fff;color:#111}.hero,.page-hero{background:#fff;color:#111;padding:20px 0}section{padding:20px 0}.card,.info-box,.form-panel{box-shadow:none;border:1px solid #ccc}}

/* Stage 7 media and polish */
.logo-stage7{display:grid;gap:0;text-align:left;line-height:1;text-decoration:none}.logo-title{font-size:1.32rem;letter-spacing:.12em;font-weight:950;color:var(--green)}.logo-subtitle{font-size:.64rem;letter-spacing:.28em;color:var(--gold);font-weight:900;margin-top:5px}.hero-photo,.page-hero.hero-photo{background:linear-gradient(rgba(15,40,32,.62),rgba(15,40,32,.50)),var(--hero-image) center/cover no-repeat}.pronounce{font-size:1.05rem;max-width:760px;background:rgba(255,250,240,.14);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:14px 16px;margin:0 0 18px}.image-cards .card{overflow:hidden;padding:0}.image-card img{width:100%;height:210px;object-fit:cover}.image-card div{padding:22px}.media-carousel{position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--bg-alt);min-height:310px}.media-carousel img{width:100%;height:310px;object-fit:cover;border-radius:var(--radius);display:none}.media-carousel img.active{display:block;animation:carouselFade .35s ease}.tall-carousel{min-height:420px}.tall-carousel img{height:420px}.carousel-control{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.65);background:rgba(17,41,32,.72);color:#fff;font-size:1.35rem;line-height:1;display:grid;place-items:center;cursor:pointer}.carousel-control:hover{background:rgba(17,41,32,.92)}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:7px;z-index:2}.carousel-dot{width:8px;height:8px;border-radius:999px;border:0;background:rgba(255,255,255,.58);padding:0}.carousel-dot.active{background:var(--gold);width:22px}@keyframes carouselFade{from{opacity:.72}to{opacity:1}}.map-card{position:relative;min-height:420px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#a7c6ad,#e7d4a5 45%,#b9d0d5);border:1px solid rgba(23,63,50,.16);box-shadow:var(--shadow)}.map-card:before{content:"";position:absolute;inset:12%;border-radius:55% 45% 50% 40%;border:3px dashed rgba(23,63,50,.38);transform:rotate(-12deg)}.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:var(--green);color:var(--white);font-weight:850;border-radius:999px;padding:7px 10px;font-size:.86rem;box-shadow:0 8px 22px rgba(0,0,0,.18)}.pin:before{content:"";position:absolute;left:50%;top:100%;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:12px solid var(--green);transform:translateX(-50%)}.mountain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mountain-card{background:var(--bg-alt);border:1px solid rgba(23,63,50,.12);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 20px rgba(29,42,36,.06);cursor:pointer}.mountain-card>img{width:100%;height:230px;object-fit:cover}.mountain-content{padding:22px}.small-text{font-size:.93rem;color:var(--muted)}.metrics{display:grid;gap:8px;margin:16px 0}.metric{display:grid;grid-template-columns:90px 1fr 42px;gap:9px;align-items:center;font-size:.84rem}.metric i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--gold) var(--v),rgba(23,63,50,.13) var(--v))}.metric b{text-align:right}.expand-content{display:none;border-top:1px solid rgba(23,63,50,.12);margin-top:16px;padding-top:16px}.mountain-card.open .expand-content{display:block}.expand-toggle{border:0;background:transparent;color:var(--green);font-weight:850;text-decoration:underline;padding:8px 0;cursor:pointer}.form-error{display:none;background:#fff1f1;color:#7a1d1d;border:1px solid #d88;border-radius:12px;padding:12px}.form-error.show{display:block}.field-error{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.12)}.map-section{background:var(--bg-alt)}.download-card{background:#fff;border:1px solid var(--stone);border-radius:var(--radius);padding:20px}.resource-links a{font-weight:850;color:var(--green)}
@media(max-width:900px){.logo-title{font-size:1rem}.logo-subtitle{font-size:.53rem}.media-carousel{min-height:280px}.media-carousel img{height:280px}.tall-carousel{min-height:340px}.tall-carousel img{height:340px}.mountain-grid{grid-template-columns:1fr}.metric{grid-template-columns:82px 1fr 38px}.map-card{min-height:360px}.pin{font-size:.74rem;padding:6px 8px}.image-card img{height:190px}}

.qual-card{position:relative;overflow:hidden}.qual-logo{width:96px;max-height:56px;object-fit:contain;margin-left:auto;margin-bottom:14px;opacity:.95}.mt-logo{width:150px;max-height:62px}.dofe-logo{width:92px;max-height:58px}.dysgu-logo{width:76px;max-height:76px}.qual-logo-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.qual-logo-row h3{margin-top:0;max-width:65%}

/* Patch 7.2.2: theme coverage, mobile menu robustness and logo display fixes */
.site-footer{background:var(--footer-bg)!important;color:var(--footer-link)!important}.site-footer h3,.site-footer strong{color:var(--footer-heading)!important}.site-footer .small{color:var(--footer-muted)!important}.site-header{background:color-mix(in srgb,var(--header-bg) 94%,white 6%)!important}.nav-links a{color:var(--nav-link)!important}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--nav-hover)!important}.nav-toggle{background:var(--nav-toggle-bg)!important;color:var(--nav-link)!important;position:relative;z-index:1100;touch-action:manipulation}@media(max-width:900px){.site-header{z-index:1000}.nav-links{background:var(--nav-panel-bg)!important;z-index:1050;box-shadow:0 14px 30px rgba(0,0,0,.12)}}.qual-logo{display:block!important;max-width:120px;height:auto;object-fit:contain}.dysgu-logo{width:96px;max-height:82px}.mt-logo{width:138px;max-height:76px}.dofe-logo{width:86px;max-height:62px}


/* Patch 7.2.3: robust theme, spacing and card carousels */
:root{--max:1180px;--radius:18px;--shadow:0 18px 40px rgba(29,42,36,.13)}
.container{width:min(100% - 64px,var(--max));}
.site-header .container.nav{width:min(100% - 64px,var(--max));}
html[data-theme] body, body[data-theme]{background:var(--bg)!important;color:var(--ink)!important;}
html[data-theme] .site-header, body[data-theme] .site-header{background:color-mix(in srgb,var(--header-bg) 94%,white 6%)!important;border-bottom-color:color-mix(in srgb,var(--stone) 65%,transparent)!important;}
html[data-theme] .logo-title, body[data-theme] .logo-title{color:var(--green)!important;}
html[data-theme] .logo-subtitle, body[data-theme] .logo-subtitle{color:var(--gold)!important;}
html[data-theme] .nav-links, body[data-theme] .nav-links{background:var(--nav-panel-bg)!important;}
html[data-theme] .nav-links a, body[data-theme] .nav-links a{color:var(--nav-link)!important;}
html[data-theme] .nav-links a:hover, html[data-theme] .nav-links a[aria-current="page"], body[data-theme] .nav-links a:hover, body[data-theme] .nav-links a[aria-current="page"]{color:var(--nav-hover)!important;}
html[data-theme] .nav-toggle, body[data-theme] .nav-toggle{background:var(--nav-toggle-bg)!important;color:var(--nav-link)!important;border-color:var(--stone)!important;}
html[data-theme] .site-footer, body[data-theme] .site-footer{background:var(--footer-bg)!important;color:var(--footer-link)!important;}
html[data-theme] .site-footer h3, body[data-theme] .site-footer h3{color:var(--footer-heading)!important;}
html[data-theme] .site-footer a, body[data-theme] .site-footer a{color:var(--footer-link)!important;}
html[data-theme] .site-footer .small, body[data-theme] .site-footer .small{color:var(--footer-muted)!important;}
.card-carousel{border-radius:0;box-shadow:none;min-height:230px;background:var(--bg-alt);}
.card-carousel img{height:230px;border-radius:0;}
.mountain-card > .media-carousel{border-bottom:1px solid rgba(23,63,50,.12);}
@media(max-width:900px){.container,.site-header .container.nav{width:min(100% - 36px,var(--max));}.nav-links{left:0!important;right:0!important;top:72px!important;}}


/* Patch 7.2.4: extra themes and cleaner expandable mountain cards */
.expand-toggle{display:none!important;}
.mountain-card .expand-content .more-detail-copy{margin-bottom:16px;}

/* ============================================================
   PATCH 7.2.6 — MANUAL IMAGE PAN / ZOOM CONTROLS
   ------------------------------------------------------------
   Use these classes when an image is cropped to the wrong focal
   point inside a card, carousel, hero, or image box.

   BASIC USE IN HTML:
   <img class="img-pan-zoom"
        style="--img-pos-x:50%; --img-pos-y:35%; --img-zoom:1.12;"
        data-example="assets/images/webp_images/your-image.webp"
        alt="Useful image description"
        loading="lazy">

   LAPTOP VS MOBILE:
   <img class="img-pan-zoom"
        style="--desktop-pos-x:45%; --desktop-pos-y:30%; --desktop-zoom:1.15;
               --mobile-pos-x:50%; --mobile-pos-y:45%; --mobile-zoom:1.05;"
        data-example="assets/images/webp_images/your-image.webp"
        alt="Useful image description"
        loading="lazy">

   POSITION NOTES:
   --img-pos-x controls left/right pan. 0% = left, 50% = centre, 100% = right.
   --img-pos-y controls up/down pan. 0% = top, 50% = centre, 100% = bottom.
   --img-zoom controls zoom. 1 = normal, 1.10 = 10% zoom, 1.25 = 25% zoom.

   Use small zoom changes first. 1.05 to 1.18 is usually enough.
   ============================================================ */

/* Default pan/zoom class for normal <img> elements inside boxes and carousels. */
.img-pan-zoom {
  object-fit: var(--img-fit, cover) !important;
  object-position: var(--img-pos-x, 50%) var(--img-pos-y, 50%) !important;
  transform: scale(var(--img-zoom, 1)) !important;
  transform-origin: var(--img-pos-x, 50%) var(--img-pos-y, 50%) !important;
  transition: transform .25s ease, object-position .25s ease;
  will-change: transform, object-position;
}

/* Desktop/laptop-specific focal point overrides. */
@media (min-width: 901px) {
  .img-pan-zoom {
    object-position: var(--desktop-pos-x, var(--img-pos-x, 50%)) var(--desktop-pos-y, var(--img-pos-y, 50%)) !important;
    transform: scale(var(--desktop-zoom, var(--img-zoom, 1))) !important;
    transform-origin: var(--desktop-pos-x, var(--img-pos-x, 50%)) var(--desktop-pos-y, var(--img-pos-y, 50%)) !important;
  }
}

/* Mobile/tablet-specific focal point overrides. */
@media (max-width: 900px) {
  .img-pan-zoom {
    object-position: var(--mobile-pos-x, var(--img-pos-x, 50%)) var(--mobile-pos-y, var(--img-pos-y, 50%)) !important;
    transform: scale(var(--mobile-zoom, var(--img-zoom, 1))) !important;
    transform-origin: var(--mobile-pos-x, var(--img-pos-x, 50%)) var(--mobile-pos-y, var(--img-pos-y, 50%)) !important;
  }
}

/* Quick preset classes for common focal-point fixes. Add one to an <img>. */
.img-focus-center { object-position: 50% 50% !important; }
.img-focus-top { object-position: 50% 20% !important; }
.img-focus-bottom { object-position: 50% 80% !important; }
.img-focus-left { object-position: 25% 50% !important; }
.img-focus-right { object-position: 75% 50% !important; }
.img-focus-top-left { object-position: 25% 20% !important; }
.img-focus-top-right { object-position: 75% 20% !important; }
.img-focus-bottom-left { object-position: 25% 80% !important; }
.img-focus-bottom-right { object-position: 75% 80% !important; }

/* Show the whole image rather than cropping. Useful for logos/maps, less ideal for photos. */
.img-contain {
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: none !important;
  background: var(--bg-alt);
}

/* Extra helper for images that need a slightly taller box on desktop. */
@media (min-width: 901px) {
  .carousel-taller-desktop,
  .carousel-taller-desktop img {
    min-height: 380px !important;
    height: 380px !important;
  }
}

/* Extra helper for images that need a slightly taller box on mobile. */
@media (max-width: 900px) {
  .carousel-taller-mobile,
  .carousel-taller-mobile img {
    min-height: 340px !important;
    height: 340px !important;
  }
}

/* Background/hero image panning. Use on a hero section with inline variables, e.g.
   <section class="page-hero hero-photo hero-pan-zoom"
            style="--hero-pos-x:45%; --hero-pos-y:30%; --hero-size:cover;">
*/
.hero-pan-zoom,
.hero-photo.hero-pan-zoom,
.page-hero.hero-pan-zoom {
  background-position: var(--hero-pos-x, center) var(--hero-pos-y, center) !important;
  background-size: var(--hero-size, cover) !important;
}

@media (min-width: 901px) {
  .hero-pan-zoom,
  .hero-photo.hero-pan-zoom,
  .page-hero.hero-pan-zoom {
    background-position: var(--desktop-hero-pos-x, var(--hero-pos-x, center)) var(--desktop-hero-pos-y, var(--hero-pos-y, center)) !important;
    background-size: var(--desktop-hero-size, var(--hero-size, cover)) !important;
  }
}

@media (max-width: 900px) {
  .hero-pan-zoom,
  .hero-photo.hero-pan-zoom,
  .page-hero.hero-pan-zoom {
    background-position: var(--mobile-hero-pos-x, var(--hero-pos-x, center)) var(--mobile-hero-pos-y, var(--hero-pos-y, center)) !important;
    background-size: var(--mobile-hero-size, var(--hero-size, cover)) !important;
  }
}



/* ============================================================
   PATCH 7.12 REDO — Instagram brand palette enforcement
   ------------------------------------------------------------
   The first 7.12 patch changed variables, but several components
   still had hard-coded white/gold/old-green backgrounds. This block
   forces the visible site furniture to use the Instagram palette:
   cream #f4f3ef, slate #303a3f, light blue #b1c7c7,
   sage #686e5d and text green #7c816a.
   ============================================================ */

html[data-theme^="cynefin-"],
body[data-theme^="cynefin-"]{
  background:#f4f3ef !important;
  color:#303a3f !important;
}

html[data-theme^="cynefin-"] .site-header,
body[data-theme^="cynefin-"] .site-header{
  background:#f4f3ef !important;
  border-bottom:1px solid color-mix(in srgb,#b1c7c7 68%,#303a3f 32%) !important;
}

html[data-theme^="cynefin-"] .logo-title,
body[data-theme^="cynefin-"] .logo-title,
html[data-theme^="cynefin-"] h2,
body[data-theme^="cynefin-"] h2,
html[data-theme^="cynefin-"] h3,
body[data-theme^="cynefin-"] h3{
  color:#303a3f !important;
}

html[data-theme^="cynefin-"] .logo-subtitle,
body[data-theme^="cynefin-"] .logo-subtitle,
html[data-theme^="cynefin-"] .eyebrow,
body[data-theme^="cynefin-"] .eyebrow{
  color:#b1c7c7 !important;
}

html[data-theme^="cynefin-"] .hero,
html[data-theme^="cynefin-"] .page-hero,
body[data-theme^="cynefin-"] .hero,
body[data-theme^="cynefin-"] .page-hero{
  background-color:#303a3f !important;
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] .hero h1,
html[data-theme^="cynefin-"] .page-hero h1,
html[data-theme^="cynefin-"] .hero .lead,
html[data-theme^="cynefin-"] .page-hero .lead,
body[data-theme^="cynefin-"] .hero h1,
body[data-theme^="cynefin-"] .page-hero h1,
body[data-theme^="cynefin-"] .hero .lead,
body[data-theme^="cynefin-"] .page-hero .lead{
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] section,
body[data-theme^="cynefin-"] section{
  background:#f4f3ef;
}

html[data-theme^="cynefin-"] .timeline,
html[data-theme^="cynefin-"] .map-section,
html[data-theme^="cynefin-"] .cta-section,
body[data-theme^="cynefin-"] .timeline,
body[data-theme^="cynefin-"] .map-section,
body[data-theme^="cynefin-"] .cta-section{
  background:color-mix(in srgb,#f4f3ef 78%,#b1c7c7 22%) !important;
}

html[data-theme^="cynefin-"] .card,
html[data-theme^="cynefin-"] .faq details,
html[data-theme^="cynefin-"] .download-card,
html[data-theme^="cynefin-"] .steps div,
html[data-theme^="cynefin-"] .qr-card,
html[data-theme^="cynefin-"] .form-panel,
html[data-theme^="cynefin-"] .info-box,
html[data-theme^="cynefin-"] .hero-card,
html[data-theme^="cynefin-"] .notice,
body[data-theme^="cynefin-"] .card,
body[data-theme^="cynefin-"] .faq details,
body[data-theme^="cynefin-"] .download-card,
body[data-theme^="cynefin-"] .steps div,
body[data-theme^="cynefin-"] .qr-card,
body[data-theme^="cynefin-"] .form-panel,
body[data-theme^="cynefin-"] .info-box,
body[data-theme^="cynefin-"] .hero-card,
body[data-theme^="cynefin-"] .notice{
  background:color-mix(in srgb,#f4f3ef 82%,#b1c7c7 18%) !important;
  border-color:color-mix(in srgb,#b1c7c7 72%,#303a3f 28%) !important;
}

html[data-theme^="cynefin-"] .card p,
html[data-theme^="cynefin-"] .section-intro p,
html[data-theme^="cynefin-"] .guide-copy p,
html[data-theme^="cynefin-"] .small-text,
body[data-theme^="cynefin-"] .card p,
body[data-theme^="cynefin-"] .section-intro p,
body[data-theme^="cynefin-"] .guide-copy p,
body[data-theme^="cynefin-"] .small-text{
  color:#7c816a !important;
}

html[data-theme^="cynefin-"] input,
html[data-theme^="cynefin-"] textarea,
html[data-theme^="cynefin-"] select,
body[data-theme^="cynefin-"] input,
body[data-theme^="cynefin-"] textarea,
body[data-theme^="cynefin-"] select{
  background:#f4f3ef !important;
  color:#303a3f !important;
  border-color:#b1c7c7 !important;
}

html[data-theme^="cynefin-"] input:focus,
html[data-theme^="cynefin-"] textarea:focus,
html[data-theme^="cynefin-"] select:focus,
body[data-theme^="cynefin-"] input:focus,
body[data-theme^="cynefin-"] textarea:focus,
body[data-theme^="cynefin-"] select:focus{
  border-color:#686e5d !important;
  box-shadow:0 0 0 3px rgba(177,199,199,.55) !important;
  outline:none !important;
}

html[data-theme^="cynefin-"] .btn-primary,
body[data-theme^="cynefin-"] .btn-primary{
  background:#b1c7c7 !important;
  color:#303a3f !important;
  border-color:#b1c7c7 !important;
}

html[data-theme^="cynefin-"] .btn-primary:hover,
body[data-theme^="cynefin-"] .btn-primary:hover{
  background:color-mix(in srgb,#b1c7c7 76%,#f4f3ef 24%) !important;
  border-color:#686e5d !important;
}

html[data-theme^="cynefin-"] .btn-dark,
html[data-theme^="cynefin-"] .band,
html[data-theme^="cynefin-"] .cta-card,
body[data-theme^="cynefin-"] .btn-dark,
body[data-theme^="cynefin-"] .band,
body[data-theme^="cynefin-"] .cta-card{
  background:#303a3f !important;
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] .btn-dark h2,
html[data-theme^="cynefin-"] .band h2,
html[data-theme^="cynefin-"] .cta-card h2,
body[data-theme^="cynefin-"] .btn-dark h2,
body[data-theme^="cynefin-"] .band h2,
body[data-theme^="cynefin-"] .cta-card h2{
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] .trust-list li,
html[data-theme^="cynefin-"] .pill,
body[data-theme^="cynefin-"] .trust-list li,
body[data-theme^="cynefin-"] .pill{
  background:#b1c7c7 !important;
  color:#303a3f !important;
  border-color:#686e5d !important;
}

html[data-theme^="cynefin-"] .card-label,
html[data-theme^="cynefin-"] .card a,
html[data-theme^="cynefin-"] .resource-links a,
body[data-theme^="cynefin-"] .card-label,
body[data-theme^="cynefin-"] .card a,
body[data-theme^="cynefin-"] .resource-links a{
  color:#686e5d !important;
  text-decoration-color:#b1c7c7 !important;
}

html[data-theme^="cynefin-"] .carousel-control,
body[data-theme^="cynefin-"] .carousel-control{
  background:rgba(48,58,63,.76) !important;
  border-color:#b1c7c7 !important;
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] .carousel-dot,
body[data-theme^="cynefin-"] .carousel-dot{
  background:rgba(244,243,239,.72) !important;
}

html[data-theme^="cynefin-"] .carousel-dot.active,
body[data-theme^="cynefin-"] .carousel-dot.active{
  background:#b1c7c7 !important;
}

html[data-theme^="cynefin-"] .metric i,
body[data-theme^="cynefin-"] .metric i{
  background:linear-gradient(90deg,#b1c7c7 var(--v),rgba(48,58,63,.13) var(--v)) !important;
}

html[data-theme^="cynefin-"] .map-card,
body[data-theme^="cynefin-"] .map-card{
  background:linear-gradient(135deg,#b1c7c7 0%,#f4f3ef 44%,#686e5d 100%) !important;
}

html[data-theme^="cynefin-"] .pin,
body[data-theme^="cynefin-"] .pin{
  background:#303a3f !important;
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] .pin:before,
body[data-theme^="cynefin-"] .pin:before{
  border-top-color:#303a3f !important;
}

html[data-theme^="cynefin-"] .site-footer,
body[data-theme^="cynefin-"] .site-footer{
  background:#303a3f !important;
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] .site-footer h3,
body[data-theme^="cynefin-"] .site-footer h3{
  color:#b1c7c7 !important;
}

html[data-theme^="cynefin-"] .site-footer a,
body[data-theme^="cynefin-"] .site-footer a{
  color:#f4f3ef !important;
}

html[data-theme^="cynefin-"] .site-footer .small,
body[data-theme^="cynefin-"] .site-footer .small{
  color:rgba(244,243,239,.78) !important;
}

@media print{
  html[data-theme^="cynefin-"] body,
  body[data-theme^="cynefin-"]{
    background:#fff !important;
    color:#111 !important;
  }
}

/* ============================================================
   PATCH 7.12.1 — SAGE-LED BRAND PALETTE OVERRIDE
   ------------------------------------------------------------
   Requested change: swap the dark/slate blue and sage green roles
   to make the website lighter and less dark.

   New balance:
   - #f4f3ef = cream page/card background
   - #686e5d = lead brand colour for hero/footer/dark buttons
   - #303a3f = readable dark text and secondary contrast
   - #b1c7c7 = light blue accent/highlight
   - #7c816a = muted supporting text
   ============================================================ */

html[data-theme="cynefin-brand"],
body[data-theme="cynefin-brand"],
html[data-theme="cynefin-bright"],
body[data-theme="cynefin-bright"]{
  --bg:#f4f3ef;
  --bg-alt:color-mix(in srgb,#f4f3ef 82%,#b1c7c7 18%);
  --ink:#303a3f;
  --muted:#7c816a;
  --green:#686e5d;
  --green-2:#303a3f;
  --gold:#b1c7c7;
  --stone:#b1c7c7;
  --white:#f4f3ef;
  --header-bg:#f4f3ef;
  --nav-panel-bg:#f4f3ef;
  --nav-link:#303a3f;
  --nav-hover:#686e5d;
  --nav-toggle-bg:color-mix(in srgb,#f4f3ef 70%,#b1c7c7 30%);
  --footer-bg:#686e5d;
  --footer-heading:#f4f3ef;
  --footer-link:#f4f3ef;
  --footer-muted:rgba(244,243,239,.84);
}

html[data-theme="cynefin-brand"] .site-header,
body[data-theme="cynefin-brand"] .site-header,
html[data-theme="cynefin-bright"] .site-header,
body[data-theme="cynefin-bright"] .site-header{
  background:#f4f3ef !important;
  border-bottom:1px solid color-mix(in srgb,#b1c7c7 70%,#686e5d 30%) !important;
}

html[data-theme="cynefin-brand"] h2,
html[data-theme="cynefin-brand"] h3,
html[data-theme="cynefin-brand"] .logo-title,
body[data-theme="cynefin-brand"] h2,
body[data-theme="cynefin-brand"] h3,
body[data-theme="cynefin-brand"] .logo-title,
html[data-theme="cynefin-bright"] h2,
html[data-theme="cynefin-bright"] h3,
html[data-theme="cynefin-bright"] .logo-title,
body[data-theme="cynefin-bright"] h2,
body[data-theme="cynefin-bright"] h3,
body[data-theme="cynefin-bright"] .logo-title{
  color:#686e5d !important;
}

html[data-theme="cynefin-brand"] .nav-links a,
body[data-theme="cynefin-brand"] .nav-links a,
html[data-theme="cynefin-bright"] .nav-links a,
body[data-theme="cynefin-bright"] .nav-links a{
  color:#303a3f !important;
}

html[data-theme="cynefin-brand"] .nav-links a:hover,
html[data-theme="cynefin-brand"] .nav-links a[aria-current="page"],
body[data-theme="cynefin-brand"] .nav-links a:hover,
body[data-theme="cynefin-brand"] .nav-links a[aria-current="page"],
html[data-theme="cynefin-bright"] .nav-links a:hover,
html[data-theme="cynefin-bright"] .nav-links a[aria-current="page"],
body[data-theme="cynefin-bright"] .nav-links a:hover,
body[data-theme="cynefin-bright"] .nav-links a[aria-current="page"]{
  color:#686e5d !important;
}

html[data-theme="cynefin-brand"] .hero,
html[data-theme="cynefin-brand"] .page-hero,
body[data-theme="cynefin-brand"] .hero,
body[data-theme="cynefin-brand"] .page-hero,
html[data-theme="cynefin-bright"] .hero,
html[data-theme="cynefin-bright"] .page-hero,
body[data-theme="cynefin-bright"] .hero,
body[data-theme="cynefin-bright"] .page-hero{
  background-color:#686e5d !important;
  color:#f4f3ef !important;
}

html[data-theme="cynefin-brand"] .hero-photo,
html[data-theme="cynefin-brand"] .page-hero.hero-photo,
body[data-theme="cynefin-brand"] .hero-photo,
body[data-theme="cynefin-brand"] .page-hero.hero-photo,
html[data-theme="cynefin-bright"] .hero-photo,
html[data-theme="cynefin-bright"] .page-hero.hero-photo,
body[data-theme="cynefin-bright"] .hero-photo,
body[data-theme="cynefin-bright"] .page-hero.hero-photo{
  background-image:linear-gradient(rgba(24,33,37,.65),rgba(24,33,37,.65)),var(--hero-image) !important;
}

html[data-theme="cynefin-brand"] .card,
html[data-theme="cynefin-brand"] .faq details,
html[data-theme="cynefin-brand"] .download-card,
html[data-theme="cynefin-brand"] .steps div,
html[data-theme="cynefin-brand"] .qr-card,
html[data-theme="cynefin-brand"] .form-panel,
html[data-theme="cynefin-brand"] .info-box,
html[data-theme="cynefin-brand"] .hero-card,
html[data-theme="cynefin-brand"] .notice,
body[data-theme="cynefin-brand"] .card,
body[data-theme="cynefin-brand"] .faq details,
body[data-theme="cynefin-brand"] .download-card,
body[data-theme="cynefin-brand"] .steps div,
body[data-theme="cynefin-brand"] .qr-card,
body[data-theme="cynefin-brand"] .form-panel,
body[data-theme="cynefin-brand"] .info-box,
body[data-theme="cynefin-brand"] .hero-card,
body[data-theme="cynefin-brand"] .notice,
html[data-theme="cynefin-bright"] .card,
html[data-theme="cynefin-bright"] .faq details,
html[data-theme="cynefin-bright"] .download-card,
html[data-theme="cynefin-bright"] .steps div,
html[data-theme="cynefin-bright"] .qr-card,
html[data-theme="cynefin-bright"] .form-panel,
html[data-theme="cynefin-bright"] .info-box,
html[data-theme="cynefin-bright"] .hero-card,
html[data-theme="cynefin-bright"] .notice,
body[data-theme="cynefin-bright"] .card,
body[data-theme="cynefin-bright"] .faq details,
body[data-theme="cynefin-bright"] .download-card,
body[data-theme="cynefin-bright"] .steps div,
body[data-theme="cynefin-bright"] .qr-card,
body[data-theme="cynefin-bright"] .form-panel,
body[data-theme="cynefin-bright"] .info-box,
body[data-theme="cynefin-bright"] .hero-card,
body[data-theme="cynefin-bright"] .notice{
  background:color-mix(in srgb,#f4f3ef 82%,#b1c7c7 18%) !important;
  border-color:color-mix(in srgb,#b1c7c7 72%,#686e5d 28%) !important;
}

html[data-theme="cynefin-brand"] .timeline,
html[data-theme="cynefin-brand"] .map-section,
html[data-theme="cynefin-brand"] .cta-section,
body[data-theme="cynefin-brand"] .timeline,
body[data-theme="cynefin-brand"] .map-section,
body[data-theme="cynefin-brand"] .cta-section,
html[data-theme="cynefin-bright"] .timeline,
html[data-theme="cynefin-bright"] .map-section,
html[data-theme="cynefin-bright"] .cta-section,
body[data-theme="cynefin-bright"] .timeline,
body[data-theme="cynefin-bright"] .map-section,
body[data-theme="cynefin-bright"] .cta-section{
  background:color-mix(in srgb,#f4f3ef 72%,#b1c7c7 28%) !important;
}

html[data-theme="cynefin-brand"] .btn-dark,
html[data-theme="cynefin-brand"] .band,
html[data-theme="cynefin-brand"] .cta-card,
body[data-theme="cynefin-brand"] .btn-dark,
body[data-theme="cynefin-brand"] .band,
body[data-theme="cynefin-brand"] .cta-card,
html[data-theme="cynefin-bright"] .btn-dark,
html[data-theme="cynefin-bright"] .band,
html[data-theme="cynefin-bright"] .cta-card,
body[data-theme="cynefin-bright"] .btn-dark,
body[data-theme="cynefin-bright"] .band,
body[data-theme="cynefin-bright"] .cta-card{
  background:#686e5d !important;
  color:#f4f3ef !important;
}

html[data-theme="cynefin-brand"] .site-footer,
body[data-theme="cynefin-brand"] .site-footer,
html[data-theme="cynefin-bright"] .site-footer,
body[data-theme="cynefin-bright"] .site-footer{
  background:#686e5d !important;
  color:#f4f3ef !important;
}

html[data-theme="cynefin-brand"] .site-footer h3,
body[data-theme="cynefin-brand"] .site-footer h3,
html[data-theme="cynefin-bright"] .site-footer h3,
body[data-theme="cynefin-bright"] .site-footer h3{
  color:#f4f3ef !important;
}

html[data-theme="cynefin-brand"] .pin,
body[data-theme="cynefin-brand"] .pin,
html[data-theme="cynefin-bright"] .pin,
body[data-theme="cynefin-bright"] .pin{
  background:#686e5d !important;
  color:#f4f3ef !important;
}

html[data-theme="cynefin-brand"] .pin:before,
body[data-theme="cynefin-brand"] .pin:before,
html[data-theme="cynefin-bright"] .pin:before,
body[data-theme="cynefin-bright"] .pin:before{
  border-top-color:#686e5d !important;
}

html[data-theme="cynefin-brand"] .carousel-control,
body[data-theme="cynefin-brand"] .carousel-control,
html[data-theme="cynefin-bright"] .carousel-control,
body[data-theme="cynefin-bright"] .carousel-control{
  background:rgba(104,110,93,.78) !important;
  border-color:#b1c7c7 !important;
  color:#f4f3ef !important;
}

html[data-theme="cynefin-brand"] .metric i,
body[data-theme="cynefin-brand"] .metric i,
html[data-theme="cynefin-bright"] .metric i,
body[data-theme="cynefin-bright"] .metric i{
  background:linear-gradient(90deg,#b1c7c7 var(--v),rgba(104,110,93,.18) var(--v)) !important;
}

/* ============================================================
   PRODUCTION HARDENING 8.0.0
   Accessibility, readable contrast and legal/form presentation.
   ============================================================ */

html[data-theme="cynefin-brand"],
body[data-theme="cynefin-brand"]{
  --muted:#5f6554;
}

html[data-theme="cynefin-brand"] .card p,
html[data-theme="cynefin-brand"] .section-intro p,
html[data-theme="cynefin-brand"] .guide-copy p,
html[data-theme="cynefin-brand"] .small-text,
body[data-theme="cynefin-brand"] .card p,
body[data-theme="cynefin-brand"] .section-intro p,
body[data-theme="cynefin-brand"] .guide-copy p,
body[data-theme="cynefin-brand"] .small-text{
  color:#5f6554 !important;
}

html[data-theme="cynefin-brand"] .card-label,
html[data-theme="cynefin-brand"] .card a,
html[data-theme="cynefin-brand"] .resource-links a,
body[data-theme="cynefin-brand"] .card-label,
body[data-theme="cynefin-brand"] .card a,
body[data-theme="cynefin-brand"] .resource-links a{
  color:#515747 !important;
}

[hidden]{display:none !important}

.skip-link{
  position:fixed;
  left:1rem;
  top:1rem;
  z-index:9999;
  transform:translateY(-180%);
  background:#303a3f;
  color:#f4f3ef;
  padding:.75rem 1rem;
  border-radius:.5rem;
  font-weight:800;
  text-decoration:none;
}

.skip-link:focus{transform:translateY(0)}

.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible{
  outline:3px solid #303a3f;
  outline-offset:3px;
}

.hero a:focus-visible,
.page-hero a:focus-visible,
.band a:focus-visible,
.cta-card a:focus-visible,
.site-footer a:focus-visible{
  outline-color:#f4f3ef;
}

.nav-links a[aria-current="page"]{
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:5px;
}

.mountain-card{cursor:default}

.expand-content{display:block}
.js .expand-content{display:none}
.js .mountain-card.open .expand-content{display:block}

.expand-toggle{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-top:.25rem;
  padding:.55rem 0;
}

.carousel-control{
  width:44px;
  height:44px;
}

.carousel-dot,
html[data-theme^="cynefin-"] .carousel-dot,
body[data-theme^="cynefin-"] .carousel-dot{
  position:relative;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  background:transparent !important;
}

.carousel-dot::after{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(244,243,239,.82);
  transition:width .2s ease;
}

.carousel-dot.active,
html[data-theme^="cynefin-"] .carousel-dot.active,
body[data-theme^="cynefin-"] .carousel-dot.active{
  width:28px;
  background:transparent !important;
}

.carousel-dot.active::after{
  width:22px;
  background:#b1c7c7;
}

.form-privacy-note{
  margin:0;
  font-size:.9rem;
  color:#5f6554;
}

.consent a{
  color:#515747;
  text-decoration-thickness:2px;
}

.legal-copy h2{
  margin-top:2.25rem;
}

.legal-copy li{
  margin:.55rem 0;
}

.legal-copy .notice{
  color:#303a3f !important;
}

@media(max-width:900px){
  body.nav-open{overflow:hidden}
  .nav-toggle{display:none}
  .nav-links{display:flex}
  .js .nav-toggle{display:inline-flex}
  .js .nav-links{display:none}
  .js .nav-links.open{display:flex}
  .nav-links a{
    display:flex;
    align-items:center;
    min-height:44px;
  }
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* ============================================================
   BRAND TYPOGRAPHY 8.1.0
   Libre Baskerville: titles
   Montserrat: body and interface
   Kalam: warm, conversational accents
   ============================================================ */

:root{
  --font-title:"Libre Baskerville",Georgia,"Times New Roman",serif;
  --font-body:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-friendly:"Kalam","Segoe Print","Bradley Hand",cursive;
  --brand-light-blue:#b1c7c7;
  --brand-slate:#303a3f;
  --brand-sage:#686e5d;
  --brand-text-green:#7c816a;
  --brand-cream:#f4f3ef;
}

body,
button,
input,
textarea,
select{
  font-family:var(--font-body);
}

h1,
h2,
h3,
.logo-title,
.faq summary{
  font-family:var(--font-title);
  font-optical-sizing:auto;
}

h1{
  font-size:clamp(2.25rem,5.25vw,4.35rem);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.08;
}

h2{
  font-size:clamp(1.7rem,3.6vw,2.65rem);
  font-weight:700;
  letter-spacing:-.018em;
  line-height:1.16;
}

h3,
.faq summary{
  font-weight:700;
  letter-spacing:-.01em;
}

.logo-title{
  font-weight:700 !important;
  letter-spacing:.07em;
}

.logo-subtitle,
.nav-links,
.nav-toggle,
.btn,
.expand-toggle,
.metric,
.enquiry-form label{
  font-family:var(--font-body);
}

.logo-subtitle{
  font-weight:700;
}

.eyebrow,
.card-label{
  font-family:var(--font-friendly);
  font-size:1.2rem;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  text-transform:none;
}

html[data-theme="cynefin-brand"] .card-label,
body[data-theme="cynefin-brand"] .card-label{
  color:var(--brand-text-green) !important;
}

.pronounce em{
  font-family:var(--font-friendly);
  font-size:1.2em;
  font-style:normal;
  font-weight:700;
}

.lead{
  font-family:var(--font-body);
  font-weight:500;
}

.btn,
.nav-links a,
.nav-toggle,
.expand-toggle{
  font-weight:700;
}

@media(max-width:900px){
  h1{font-size:clamp(2rem,10vw,3rem)}
  h2{font-size:clamp(1.6rem,7vw,2.25rem)}
}

/* PRICING SYSTEM 8.2.0 */
.pricing-intro,
.pricing-section{
  background:var(--brand-cream);
}

.pricing-stack{
  display:grid;
  gap:2rem;
}

.pricing-panel{
  background:#fff;
  border:1px solid var(--brand-light-blue);
  border-radius:24px;
  box-shadow:0 14px 34px rgba(48,58,63,.08);
  overflow:hidden;
  padding:clamp(1.25rem,3vw,2rem);
  scroll-margin-top:110px;
}

.pricing-heading{
  align-items:flex-start;
  display:flex;
  gap:1.5rem;
  justify-content:space-between;
}

.pricing-heading h2{
  margin-bottom:.35rem;
}

.pricing-heading .text-link{
  flex:0 0 auto;
  margin-top:.35rem;
}

.pricing-subtitle{
  color:var(--brand-text-green);
  font-weight:700;
  margin-bottom:.35rem;
}

.pricing-jump-links{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1.25rem 0;
}

.pricing-jump-links a{
  background:var(--brand-light-blue);
  border:1px solid var(--brand-slate);
  border-radius:999px;
  color:var(--brand-slate);
  font-weight:700;
  padding:.65rem 1rem;
  text-decoration:none;
}

.pricing-jump-links a:hover{
  background:var(--brand-slate);
  color:var(--brand-cream);
}

.pricing-picker{
  background:var(--brand-light-blue);
  border-radius:18px;
  margin:1.4rem 0;
  padding:1rem;
}

.pricing-picker-control{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1rem;
}

.pricing-picker-control label{
  color:var(--brand-slate);
  font-weight:800;
}

.pricing-picker-control select{
  background:#fff;
  border:2px solid var(--brand-slate);
  border-radius:10px;
  color:var(--brand-slate);
  font:700 1rem var(--font-body);
  min-height:44px;
  padding:.55rem 2.5rem .55rem .75rem;
}

.pricing-picker-intro{
  margin:.9rem 0 .55rem;
}

.pricing-results{
  display:grid;
  gap:.75rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.pricing-results>div{
  background:#fff;
  border:1px solid rgba(48,58,63,.22);
  border-radius:14px;
  display:grid;
  gap:.2rem;
  padding:.85rem 1rem;
}

.pricing-results span,
.pricing-results small{
  color:var(--brand-text-green);
}

.pricing-results strong{
  color:var(--brand-slate);
  font-family:var(--font-title);
  font-size:1.35rem;
}

.pricing-table-details{
  border:1px solid var(--brand-light-blue);
  border-radius:14px;
  margin:1rem 0;
  overflow:hidden;
}

.pricing-table-details summary{
  color:var(--brand-slate);
  cursor:pointer;
  font-weight:800;
  padding:.9rem 1rem;
}

.pricing-table-details[open] summary{
  border-bottom:1px solid var(--brand-light-blue);
}

.pricing-table-scroll{
  overflow-x:auto;
}

.pricing-table{
  border-collapse:collapse;
  min-width:640px;
  width:100%;
}

.pricing-table caption{
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  clip:rect(0 0 0 0);
}

.pricing-table th,
.pricing-table td{
  border-bottom:1px solid var(--brand-light-blue);
  padding:.75rem;
  text-align:center;
}

.pricing-table thead th{
  background:var(--brand-sage);
  color:var(--brand-cream);
}

.pricing-table tbody tr:nth-child(even){
  background:rgba(177,199,199,.28);
}

.pricing-table tbody th{
  color:var(--brand-text-green);
}

.pricing-table-details .small-text{
  padding:0 1rem 1rem;
}

.pricing-notes{
  display:grid;
  gap:.85rem;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:1rem;
}

.pricing-notes>div{
  border:1px solid var(--brand-light-blue);
  border-radius:14px;
  padding:1rem;
}

.pricing-notes h3{
  font-family:var(--font-body);
  font-size:.92rem;
  letter-spacing:.03em;
  margin-bottom:.35rem;
  text-transform:uppercase;
}

.pricing-notes p{
  font-size:.94rem;
  margin:0;
}

.pricing-crosslink{
  margin:1rem 0 0;
  text-align:center;
}

.price-teaser{
  color:var(--brand-slate);
  font-weight:800;
  margin:.65rem 0;
}

.pricing-actions{
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}

@media(max-width:760px){
  .pricing-heading{
    display:block;
  }

  .pricing-heading .text-link{
    display:inline-block;
    margin:.5rem 0 0;
  }

  .pricing-results,
  .pricing-notes{
    grid-template-columns:1fr;
  }

  .pricing-jump-links{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .pricing-jump-links a{
    text-align:center;
  }
}

@media(max-width:440px){
  .pricing-jump-links{
    grid-template-columns:1fr;
  }
}

/* GIFT VOUCHERS 8.3.0 */
.voucher-choice-section,
.voucher-information-section,
.voucher-terms-section{
  background:var(--brand-cream);
}

.voucher-product-grid{
  display:grid;
  gap:1.5rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.voucher-product-card{
  background:#fff;
  border:1px solid var(--brand-light-blue);
  border-radius:24px;
  box-shadow:0 14px 34px rgba(48,58,63,.08);
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  min-width:0;
  padding:clamp(1.35rem,3vw,2rem);
}

.voucher-product-featured{
  border-color:var(--brand-sage);
}

.voucher-product-card h3{
  font-size:clamp(1.55rem,2.6vw,2.15rem);
}

.voucher-product-card p{
  margin-top:0;
}

.voucher-values{
  display:grid;
  gap:.65rem;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.voucher-values span{
  background:rgba(177,199,199,.38);
  border:1px solid var(--brand-light-blue);
  border-radius:14px;
  color:var(--brand-slate);
  font-family:var(--font-title);
  font-size:clamp(1.1rem,2vw,1.35rem);
  font-weight:700;
  padding:.8rem .5rem;
  text-align:center;
}

.voucher-day-options{
  border:1px solid var(--brand-light-blue);
  border-radius:16px;
  overflow:hidden;
}

.voucher-day-options>div{
  align-items:start;
  display:grid;
  gap:.2rem 1rem;
  grid-template-columns:minmax(0,1fr) auto;
  padding:.85rem 1rem;
}

.voucher-day-options>div+div{
  border-top:1px solid var(--brand-light-blue);
}

.voucher-day-options span{
  color:var(--brand-slate);
  font-weight:800;
  text-align:right;
}

.voucher-day-options small{
  color:var(--brand-text-green);
  grid-column:1/-1;
}

.voucher-product-card .check-list{
  margin:0;
}

.voucher-card-actions{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:.8rem 1rem;
  margin-top:auto;
}

.voucher-card-actions .text-link,
.voucher-product-card .small-text a{
  color:#515747;
  font-weight:800;
  text-decoration-thickness:2px;
}

.voucher-price-details{
  border:1px solid var(--brand-light-blue);
  border-radius:14px;
  min-width:0;
  overflow:hidden;
  width:100%;
}

.voucher-price-details summary{
  color:var(--brand-slate);
  cursor:pointer;
  font-weight:800;
  min-height:46px;
  padding:.85rem 1rem;
}

.voucher-price-details[open] summary{
  border-bottom:1px solid var(--brand-light-blue);
}

.voucher-table-scroll{
  max-width:100%;
  overflow-x:auto;
}

.voucher-price-table{
  border-collapse:collapse;
  min-width:620px;
  width:100%;
}

.voucher-price-table caption{
  clip:rect(0 0 0 0);
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
}

.voucher-price-table th,
.voucher-price-table td{
  border-bottom:1px solid var(--brand-light-blue);
  padding:.7rem;
  text-align:center;
}

.voucher-price-table thead th{
  background:var(--brand-sage);
  color:var(--brand-cream);
}

.voucher-price-table tbody tr:nth-child(even){
  background:rgba(177,199,199,.28);
}

.voucher-price-details .small-text{
  padding:0 1rem 1rem;
}

.voucher-steps{
  counter-reset:voucher-step;
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(5,minmax(0,1fr));
  list-style:none;
  margin:0;
  padding:0;
}

.voucher-steps li{
  background:#fff;
  border:1px solid var(--brand-light-blue);
  border-radius:18px;
  padding:1.2rem;
}

.voucher-steps>li>span{
  align-items:center;
  background:var(--brand-sage);
  border-radius:50%;
  color:var(--brand-cream);
  display:flex;
  font-weight:800;
  height:38px;
  justify-content:center;
  margin-bottom:.9rem;
  width:38px;
}

.voucher-steps h3{
  font-family:var(--font-body);
  font-size:1rem;
  margin-bottom:.35rem;
  text-transform:uppercase;
}

.voucher-steps p{
  margin:0;
}

.voucher-information-list{
  display:grid;
  gap:.85rem;
}

.voucher-information-list>div{
  border-left:4px solid var(--brand-light-blue);
  padding:.25rem 0 .25rem 1rem;
}

.voucher-information-list h3{
  font-family:var(--font-body);
  font-size:1rem;
  margin-bottom:.35rem;
}

.voucher-information-list p{
  margin:0;
}

.voucher-terms-panel{
  align-items:start;
  background:var(--bg-alt);
  border:1px solid var(--brand-light-blue);
  border-radius:24px;
  display:grid;
  gap:1.5rem 3rem;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  padding:clamp(1.35rem,4vw,2.5rem);
}

.voucher-final-actions{
  align-items:flex-start;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}

.voucher-final-actions .small{
  margin:0;
}

@media(max-width:1100px){
  body.nav-open{overflow:hidden}
  .nav-toggle{display:none}
  .nav-links{
    align-items:flex-start;
    background:var(--nav-panel-bg) !important;
    border-bottom:1px solid var(--stone);
    box-shadow:0 14px 30px rgba(0,0,0,.12);
    display:flex;
    flex-direction:column;
    left:0 !important;
    padding:20px 32px;
    position:absolute;
    right:0 !important;
    top:72px !important;
    z-index:1050;
  }
  .js .nav-toggle{display:inline-flex}
  .js .nav-links{display:none}
  .js .nav-links.open{display:flex}
  .nav-links a{
    align-items:center;
    display:flex;
    min-height:44px;
  }
  .voucher-steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:820px){
  .voucher-product-grid,
  .voucher-terms-panel{
    grid-template-columns:1fr;
  }
  .voucher-day-options>div{
    grid-template-columns:1fr;
  }
  .voucher-day-options span{
    text-align:left;
  }
  .voucher-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px){
  .voucher-values{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .voucher-steps{
    grid-template-columns:1fr;
  }
  .voucher-card-actions .btn,
  .voucher-final-actions .btn{
    width:100%;
  }
}

/* 8.4.3: stable image cropping, consistent controls and progressive motion. */
.home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:none !important;
}
.hero-photograph{
  position:absolute;
  inset:-8% 0;
  z-index:-2;
  pointer-events:none;
}
.hero-photograph img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 48%;
}
.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(24,33,37,.62);
}
.home-hero .hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr)}
.home-hero .pronounce{background:transparent;border:0;padding:0;max-width:42rem}
.home-hero h1{font-size:clamp(2.25rem,4.6vw,4.1rem);max-width:17ch}
.compact-heading{font-size:1.22rem;line-height:1.3;letter-spacing:-.01em}
.site-footer .footer-heading{font-size:1.22rem;color:var(--footer-heading) !important;letter-spacing:-.01em}
.breadcrumbs{display:none !important}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4rem .6rem;list-style:none;margin:0;padding:0}
.breadcrumbs li+li::before{content:"/";margin-right:.6rem;color:#686e5d}
.breadcrumbs a{display:inline-block;padding-block:.35rem;text-underline-offset:3px}
.cards > *, .split > *, .hero-grid > *{min-width:0}
.motion-reveal{
  transition:opacity 550ms ease var(--reveal-delay,0ms),transform 550ms cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms);
}
.reveal-pending{opacity:.01;transform:translateY(22px)}
.is-revealed{opacity:1;transform:none}
.reveal-pending:focus-within{opacity:1;transform:none}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #303a3f;outline-offset:3px}
.nav-toggle{
  appearance:none;
  -webkit-appearance:none;
  height:44px;
  min-height:44px;
  min-width:72px;
  padding:0 16px;
  align-items:center;
  justify-content:center;
  line-height:1;
  text-align:center;
  flex-shrink:0;
}
.nav-toggle-label{display:block;line-height:1;margin:0;padding:0}
.steps div > span,.voucher-steps > li > span{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  text-align:center;
  flex-shrink:0;
  font-family:var(--font-body);
  font-variant-numeric:lining-nums tabular-nums;
}
.step-number{display:block;font:inherit;line-height:1;margin:0;padding:0}
@media(max-width:360px){
  .site-header .nav{gap:8px}
}
.nav-links a{display:inline-flex;align-items:center;min-height:44px}
.site-logo-wording .logo-title{text-transform:uppercase}
.card a:not(.btn){display:inline-block;padding-block:.5rem}
html[data-theme="cynefin-brand"] .card-label,
body[data-theme="cynefin-brand"] .card-label,
.pricing-subtitle,.pricing-results span,.pricing-results small,.pricing-table tbody th,
.voucher-day-options small{color:#515747 !important}
.consent{display:block !important}
.consent input{margin-right:.5rem;min-width:20px;min-height:20px;vertical-align:middle}
.form-panel{overflow-wrap:anywhere}
.media-carousel:not([data-carousel-ready]) img:first-child{display:block}
@media(max-width:1100px){
  .nav-links{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;gap:4px}
  html:not(.js) .site-header .nav{flex-wrap:wrap}
  html:not(.js) .nav-links{position:static;max-height:none;width:100%}
}
@media(max-width:900px){
  .home-hero .hero-grid{grid-template-columns:1fr}
  .home-hero{padding-block:48px 36px}
  .home-hero h1{font-size:clamp(2rem,7.6vw,3.4rem);max-width:20ch}
  .home-hero .hero-card{padding:22px}
  section{padding-block:48px}
}
@media(max-width:767px){
  /* A real containing block avoids absolute-grid/display:contents differences
     between mobile browsers. Cover crops the photo without stretching it. */
  .home-hero{padding:0;background-color:#f4f3ef !important}
  .home-hero .hero-grid{width:100%;margin:0;gap:0}
  .home-hero .hero-copy{position:relative;isolation:isolate;overflow:hidden;padding:38px 22px 42px}
  .home-hero .hero-card{margin:0;padding:28px 22px;border:0;border-radius:0;box-shadow:none;background:#f4f3ef !important}
  .home-hero .hero-card p{margin-bottom:0}
  .home-hero .hero-photograph{display:block;inset:0;overflow:hidden;transform:none !important}
  .home-hero .hero-photograph img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
  .home-hero::before{display:none}
  .home-hero .hero-copy::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(24,33,37,.65);pointer-events:none}
  .home-hero h1{font-size:clamp(2rem,8vw,2.65rem);line-height:1.13;margin-bottom:22px}
  .home-hero .button-row{gap:10px;margin-top:24px}
  .home-hero .button-row .btn{font-size:.84rem;padding:12px 15px}
  .home-hero .lead{font-size:1.04rem}
  .home-hero .pronounce{font-size:.94rem}
  .home-hero .trust-list{gap:6px}
  .home-hero .trust-list li{font-size:.8rem}
  .home-hero .trust-list{display:none}
}
@media(prefers-reduced-motion:reduce){
  .reveal-pending,.is-revealed{opacity:1;transform:none;transition:none !important}
  .hero-photograph{transform:none !important}
}
@media print{
  .reveal-pending{opacity:1;transform:none}
  .hero-photograph,.home-hero::before,.home-hero .hero-copy::before{display:none}
}
