/* Final visual refinements: the WordPress Customizer still supplies the section colours. */
:root{--tkp-idea-title-size:29px;--tkp-idea-lead-size:18px;--tkp-detail-caption-size:32px}
.site-header{position:sticky;top:-138px;z-index:30;box-shadow:0 8px 24px rgba(28,17,12,.14)}
.header-photo{height:138px;object-position:center 59%}
.site-nav-wrap{min-height:72px;max-width:none;padding:0 56px;background:#ad8a50}
.brand{left:56px;width:124px}
.site-header nav{gap:38px;margin-left:160px;color:#241610;font-size:11px;letter-spacing:.05em}
.site-header a:hover,.site-header a:focus-visible{opacity:.68}
.hero{height:min(72vw,900px);min-height:720px}
.hero__video{object-position:center 48%}
.hero::after{position:absolute;bottom:30px;left:50%;z-index:2;content:"SCROLL TO EXPLORE  ↓";color:#fff;font:400 10px/1 var(--serif);letter-spacing:.18em;transform:translateX(-50%);text-shadow:0 1px 12px rgba(0,0,0,.55);pointer-events:none;animation:tkp-scroll-cue 2.2s ease-in-out infinite}
.hero::before{position:absolute;bottom:54px;left:50%;z-index:2;width:1px;height:24px;content:"";background:rgba(255,255,255,.76);transform:translateX(-50%);pointer-events:none}
@keyframes tkp-scroll-cue{50%{transform:translate(-50%,7px);opacity:.45}}
.idea h2{font-size:var(--tkp-idea-title-size)}
.idea .lead{max-width:660px;font-size:var(--tkp-idea-lead-size);line-height:1.5}
.documentary,.conversation{min-height:820px}
.video-shell,.video-shell iframe,.video-shell__placeholder{width:min(100%,1210px);min-height:min(66vh,760px)}
.video-shell__placeholder{background-image:none!important;background:#2b1a12}
.video-shell__placeholder span,.video-shell__placeholder small{opacity:0}
.mosaic__stage{grid-template-columns:minmax(0,1.22fr) minmax(390px,.92fr);gap:48px}
.mosaic-detail{padding:38px}
.mosaic-detail img{aspect-ratio:1/1;min-height:370px}
.detail-count{margin:30px 0 20px;padding-bottom:20px;font-size:14px}
.detail-caption{font-size:var(--tkp-detail-caption-size)}
.detail-explainer{margin:16px 0 0;color:rgba(251,248,241,.78);font-size:17px;line-height:1.45}
.mosaic-facts li{position:relative;min-height:96px;padding:24px 20px;transition:color .35s ease,background .35s ease,transform .35s ease,box-shadow .35s ease}
.mosaic-facts li:hover,.mosaic-facts li:focus-within{z-index:1;color:#fbf8f1;background:#251711;transform:translateY(-5px);box-shadow:0 12px 20px rgba(37,23,17,.18)}
.ornament-swirl{width:21px;height:21px;flex-basis:21px}
.mosaic-facts li:hover .ornament-swirl{filter:invert(1)}
.site-footer{margin-top:48px;border-top:1px solid rgba(173,138,80,.4)}
.site-footer__feet{height:148px;object-position:center 59%}
@media (min-width:801px){.reveal{opacity:0;filter:blur(7px);clip-path:inset(0 0 13% 0);transform:translateY(52px) scale(.985);transition:opacity .75s ease,transform 1.1s cubic-bezier(.2,.7,.2,1),clip-path 1.1s cubic-bezier(.2,.7,.2,1),filter .75s ease}.reveal.is-visible{opacity:1;filter:none;clip-path:inset(0);transform:none}}
@media (max-width:1050px) and (min-width:801px){.site-nav-wrap{padding:0 32px}.brand{left:32px}.site-header nav{gap:24px;margin-left:125px;font-size:9px}.mosaic__stage{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:30px}.mosaic-detail{padding:26px}.mosaic-detail img{min-height:280px}}
@media (max-width:800px){.site-header{top:-96px}.header-photo{height:96px;object-position:center 58%}.site-nav-wrap{min-height:62px;padding:0 20px}.brand{left:20px;width:105px}.site-header nav{gap:13px;font-size:8px}.hero{height:82vh;min-height:620px}.hero::after{bottom:24px;font-size:8px}.hero::before{bottom:46px}.idea h2{font-size:calc(var(--tkp-idea-title-size) - 3px)}.idea .lead{font-size:calc(var(--tkp-idea-lead-size) - 1px)}.documentary,.conversation{min-height:590px}.video-shell,.video-shell iframe,.video-shell__placeholder{min-height:420px}.mosaic__stage{grid-template-columns:1fr;gap:25px}.mosaic-detail{padding:28px}.mosaic-detail img{min-height:0;aspect-ratio:1/1}.detail-explainer{font-size:16px}.mosaic-facts li{min-height:84px;padding:17px 14px}.site-footer{margin-top:36px}.site-footer__feet{height:118px;object-position:center 58%}}
@media (prefers-reduced-motion:reduce){.hero::after{animation:none}.reveal{opacity:1!important;filter:none!important;clip-path:none!important;transform:none!important;transition:none!important}.mosaic-facts li{transition:none!important}}

/* Navigation, artist links and the accessible header-video control. */
.site-header nav a{position:relative;padding:29px 0 27px;color:#fff!important;opacity:1!important}
.site-header nav a::after{position:absolute;right:0;bottom:21px;left:0;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s ease}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.site-header nav a:focus-visible{outline:1px solid rgba(255,255,255,.9);outline-offset:5px}
.nav-toggle{display:none}
.video-toggle [aria-hidden="true"]{display:block;width:10px;height:12px;background:linear-gradient(90deg,currentColor 0 3px,transparent 3px 7px,currentColor 7px)}
.video-toggle[aria-pressed="true"] [aria-hidden="true"]{width:0;height:0;background:transparent;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}
.artist-link{position:relative;color:inherit;text-decoration:none}
.artist-link::after{position:absolute;right:0;bottom:-5px;left:0;height:1px;content:"";background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.artist-link:hover::after,.artist-link:focus-visible::after{transform:scaleX(1);transform-origin:left}
.artist-link:focus-visible{outline:1px solid var(--gold);outline-offset:6px}

@media (max-width:800px){
  .site-nav-wrap{justify-content:space-between}
  .nav-toggle{display:grid;width:38px;height:38px;margin-left:auto;place-content:center;gap:5px;padding:0;border:1px solid rgba(255,255,255,.56);border-radius:50%;color:#fff;background:transparent;cursor:pointer}
  .nav-toggle span{display:block;width:15px;height:1px;background:currentColor;transition:transform .25s ease,opacity .2s ease}
  .nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
  .site-header nav{position:absolute;top:100%;right:0;left:0;display:grid;gap:0;margin:0;padding:9px 20px 15px;background:#ad8a50;box-shadow:0 15px 24px rgba(28,17,12,.2);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .2s ease,transform .25s ease,visibility .25s}
  .site-header nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}
  .site-header nav a{padding:13px 0 12px;border-bottom:1px solid rgba(255,255,255,.23);font-size:11px;text-align:right}
  .site-header nav a:nth-child(n+4){display:block}
  .site-header nav a::after{right:0;bottom:7px;left:auto;width:42px}
}

@media (prefers-reduced-motion:reduce){.site-header nav,.site-header nav a::after,.nav-toggle span,.artist-link::after{transition:none}}

/* Optional Customizer spacing values are additive, preserving the approved layout at zero. */
.site-header{margin-bottom:var(--tkp-section-margin,0)}
.site-nav-wrap{padding-block:var(--tkp-section-padding,0)}
.hero{padding-block:var(--tkp-section-padding,0);margin-bottom:var(--tkp-section-margin,0)}
.idea{padding-top:calc(80px + var(--tkp-section-padding,0));padding-bottom:calc(80px + var(--tkp-section-padding,0));margin-bottom:var(--tkp-section-margin,0)}
.documentary,.story,.mosaic,.artists{padding-top:calc(112px + var(--tkp-section-padding,0));padding-bottom:calc(112px + var(--tkp-section-padding,0));margin-bottom:var(--tkp-section-margin,0)}
.conversation{padding-top:calc(124px + var(--tkp-section-padding,0));padding-bottom:calc(122px + var(--tkp-section-padding,0));margin-bottom:var(--tkp-section-margin,0)}
.opportunities{padding-top:calc(112px + var(--tkp-section-padding,0));padding-bottom:var(--tkp-section-padding,0);margin-bottom:var(--tkp-section-margin,0)}
.site-footer{margin-bottom:var(--tkp-section-margin,0)}
.site-footer__content{grid-template-columns:1fr auto 1fr;min-height:128px;padding:calc(28px + var(--tkp-section-padding,0)) clamp(24px,5vw,72px)}
.site-footer__artist-link{color:var(--paper);font:400 26px/1.05 var(--serif);letter-spacing:.025em;text-decoration:none;transition:color .2s ease}.site-footer__artist-link--brett{text-align:left}.site-footer__artist-link--kari{text-align:right}.site-footer__artist-link span{display:block;margin-top:7px;color:rgba(251,248,241,.58);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.site-footer__artist-link:hover,.site-footer__artist-link:focus-visible{color:var(--gold)}
.site-footer__meta{display:flex;max-width:1152px;margin:0 auto;padding:18px clamp(24px,5vw,72px) 25px;border-top:1px solid rgba(173,138,80,.35);align-items:center;justify-content:center;gap:12px;color:rgba(251,248,241,.58);font-size:11px;line-height:1.35;text-align:center}.site-footer__meta a{color:inherit;text-underline-offset:4px;transition:color .2s ease}.site-footer__meta a:hover,.site-footer__meta a:focus-visible{color:var(--gold)}.site-footer__meta span+span::before,.site-footer__meta a+span::before,.site-footer__meta span+a::before{margin-right:12px;color:rgba(251,248,241,.28);content:"•"}
.back-to-top{position:fixed;right:20px;bottom:20px;z-index:25;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid rgba(255,255,255,.66);border-radius:999px;color:#fff;background:rgba(37,23,17,.9);box-shadow:0 8px 25px rgba(37,23,17,.24);font:400 12px/1 var(--serif);letter-spacing:.04em;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,background .2s ease;cursor:pointer}
.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover,.back-to-top:focus-visible{background:var(--gold)}.back-to-top span[aria-hidden]{font-size:18px}

@media (max-width:800px){
  .site-header nav{position:fixed;inset:0;display:grid;grid-template-columns:1fr;align-content:center;gap:0;width:100%;min-height:100dvh;padding:118px 34px 46px;background:#ad8a50;box-shadow:none;visibility:hidden;opacity:0;pointer-events:none;transform:scale(.985);transition:opacity .28s ease,transform .36s cubic-bezier(.2,.7,.2,1),visibility .36s}
  .site-header nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .site-header .brand,.site-header .nav-toggle{z-index:61}
  .site-header nav a,.site-header nav a:nth-child(n+4){display:flex;min-height:54px;align-items:center;justify-content:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.3);font:400 clamp(25px,7.5vw,34px)/1 var(--display);letter-spacing:.035em;text-align:center}
  .site-header nav a::after{right:50%;bottom:7px;left:auto;width:62px;transform:translateX(50%) scaleX(0)}
  .site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:translateX(50%) scaleX(1)}
  .back-to-top{right:14px;bottom:14px;padding:0 13px;font-size:11px}
  .idea,.documentary,.story,.mosaic,.artists,.conversation,.opportunities{padding-top:calc(75px + var(--tkp-section-padding,0));padding-bottom:calc(75px + var(--tkp-section-padding,0))}
  .opportunities{padding-bottom:var(--tkp-section-padding,0)}
  .site-footer__content{grid-template-columns:1fr auto 1fr;gap:12px;padding:30px 24px}.site-footer__logo{width:128px}.site-footer__artist-link{font-size:19px}.site-footer__artist-link span{font-size:9px}.site-footer__meta{flex-wrap:wrap;gap:7px;padding:17px 24px 24px;font-size:10px}.site-footer__meta span+span::before,.site-footer__meta a+span::before,.site-footer__meta span+a::before{margin-right:7px}
}

@media (prefers-reduced-motion:reduce){.back-to-top{transition:none}.site-header nav{transition:none}}

/* Keep the footer centred and safely inside the viewport at every desktop width. */
.site-footer__content,.site-footer__meta{width:100%;box-sizing:border-box}
.back-to-top.is-near-footer{opacity:0;pointer-events:none;transform:translateY(12px)}
.site-nav-wrap{box-sizing:border-box;border-top:var(--tkp-nav-rule-size,0px) solid var(--tkp-nav-rule-colour,#f4eee2);border-bottom:var(--tkp-nav-rule-size,0px) solid var(--tkp-nav-rule-colour,#f4eee2)}
.motion-ready .footer-feet-reveal{clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(26px);transition:clip-path .9s cubic-bezier(.2,.7,.2,1),opacity .45s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.motion-ready .footer-feet-reveal.is-visible{clip-path:inset(0);opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.motion-ready .footer-feet-reveal{clip-path:none;opacity:1;transform:none;transition:none}}
@media (min-width:801px) and (max-width:1100px){
  .site-footer__content{gap:18px;padding-inline:clamp(24px,4vw,44px)}
  .site-footer__artist-link{font-size:clamp(21px,2.5vw,26px)}
  .site-footer__logo{width:clamp(128px,15vw,164px)}
}

/* Canonical spacing: defaults must be lengths, otherwise CSS drops the whole
   calc() rule when no Customizer value has been saved yet. */
.site-header{margin-bottom:var(--tkp-section-margin,0px)}
.site-nav-wrap{padding-block:var(--tkp-section-padding,0px)}
.hero{padding-block:var(--tkp-section-padding,0px);margin-bottom:var(--tkp-section-margin,0px)}
.idea{padding-top:calc(80px + var(--tkp-section-padding,0px));padding-bottom:calc(80px + var(--tkp-section-padding,0px));margin-bottom:var(--tkp-section-margin,0px)}
.documentary,.story,.mosaic,.artists{padding-top:calc(112px + var(--tkp-section-padding,0px));padding-bottom:calc(112px + var(--tkp-section-padding,0px));margin-bottom:var(--tkp-section-margin,0px)}
.conversation{padding-top:calc(124px + var(--tkp-section-padding,0px));padding-bottom:calc(122px + var(--tkp-section-padding,0px));margin-bottom:var(--tkp-section-margin,0px)}
.opportunities{padding-top:calc(112px + var(--tkp-section-padding,0px));padding-bottom:var(--tkp-section-padding,0px);margin-bottom:var(--tkp-section-margin,0px)}

/* Keep section headings clear of the sticky navigation when linked directly. */
.idea,.documentary,.story,.mosaic,.artists,.conversation,.opportunities{scroll-margin-top:148px}

/* A more deliberate footer hierarchy: artists first, quiet credits second. */
.site-footer{margin-top:64px}
.site-footer__content{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:156px;gap:clamp(24px,4vw,64px);padding:calc(36px + var(--tkp-section-padding,0px)) clamp(28px,6vw,88px);align-items:center}
.site-footer__logo{width:clamp(138px,14vw,172px)}
.site-footer__artist-link{font-size:clamp(23px,2.2vw,28px);line-height:1.05}
.site-footer__artist-link span{margin-top:8px;font-size:10px;letter-spacing:.14em}
.site-footer__meta{max-width:none;padding:17px clamp(28px,6vw,88px) 28px;gap:10px;font-size:10px;letter-spacing:.01em}
@media (max-width:800px){
  .idea,.documentary,.story,.mosaic,.artists,.conversation,.opportunities{padding-top:calc(75px + var(--tkp-section-padding,0px));padding-bottom:calc(75px + var(--tkp-section-padding,0px))}
  .opportunities{padding-bottom:var(--tkp-section-padding,0px)}
  .idea,.documentary,.story,.mosaic,.artists,.conversation,.opportunities{scroll-margin-top:96px}
  .site-footer{margin-top:44px}
  .site-footer__content{min-height:142px;gap:16px;padding:32px 24px}
  .site-footer__logo{width:124px}
}
